仕事のカタマリにようこそ!  [ ログイン | ユーザ登録 ]
フォーラムから検索

機械用3D-CAD SolidWorks非公認のユーザサイトです
 
 
Web katamari.org
仕事のカタマリ
ホーム リンク集 ダウンロード フォーラム(掲示板) FAQ お問い合わせ









フォーラムニュース: 質問、相談カテゴリに「SolidWorks操作方法」に関するフォーラムを追加しました。(2003/11/27)
いらっしゃい、 ゲストさん. まずはこちら→ ログイン または 登録. 2024/05/05 - 12:50:09
ホーム ヘルプ 検索 ログイン 登録

仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: 注記編集について 前のトピック 次のトピック
ページ: [1] Page Bottom 返信 返信のお知らせ Print 
   著者  トピック: 注記編集について  (閲覧数 1710 回)
shamoji
Full メンバー
***

オフライン

投稿: 45



I'm a llama!

プロファイルを見る
注記編集について
« 投稿日: 2010/07/07 - 18:29:01 »
引用して返信

いつもお世話になってます。
現在、SWのマクロを作っていて、どうしてもわからないのでどなたかご教授お願いします。
内容ですが、あらかじめ選択しておいた注記の中身を特定の内容($PRP:"設計")に置き換えたいのですが。
HELPを読んでも、注記の編集方法が分かりません。

どなたか分かる方、ご回答お願いします。
議長に報告する   記録済み
Makoron
カタマリの王様!?
*****

オフライン

投稿: 1277



SW2011SP5.0

プロファイルを見る
Re:注記編集について
« 返信 #1 投稿日: 2010/07/08 - 08:52:50 »
引用して返信

shamojiさん、こんにちは。

サンプルマクロを作ってみました!
参考にしてみてください。
(ちなみに、図面が対象でいいですよね?)
 ReplaceNote.lzh
議長に報告する   記録済み
shamoji
Full メンバー
***

オフライン

投稿: 45



I'm a llama!

プロファイルを見る
Re:注記編集について
« 返信 #2 投稿日: 2010/07/08 - 12:53:10 »
引用して返信

Makoron様
いつも有難うございます。
はい、図面でのことです。
また別の話ですが、既に存在が分かっている注記をマクロで選択した場合はどのようにしたらよいでしょうか?

boolstatus = swModel.Extension.SelectByID2("詳細アイテム52@シート フォーマット1", "NOTE", 0.2754988767696, 0.02055260346612, 0, False, 0, Nothing, 0)

上記のように選択したいと考えております。
度々すみませんが、ご回答宜しくお願いします。
議長に報告する   記録済み
Makoron
カタマリの王様!?
*****

オフライン

投稿: 1277



SW2011SP5.0

プロファイルを見る
Re:注記編集について
« 返信 #3 投稿日: 2010/07/08 - 13:15:13 »
引用して返信

サンプルのマクロは、
実行時に選択されている注記の中から、指定文字を置換するものです。

また、shamojiさんの書かれたコード
boolstatus = swModel.Extension.SelectByID2("詳細アイテム52@シート フォーマット1", "NOTE", 0.2754988767696, 0.02055260346612, 0, False, 0, Nothing, 0)
は、指定注記を選択するコードです。

なので、単純に考えて、
        Set swSelectionMgr = swModelDoc2.SelectionManager
の後に、
boolstatus = swModel.Extension.SelectByID2("詳細アイテム52@シート フォーマット1", "NOTE", 0.2754988767696, 0.02055260346612, 0, False, 0, Nothing, 0)
を挿入するだけで動くはずです。


----------------------------------------
Sub main()
    Dim blnRet As Boolean
    Dim i As Long
   
    ' オブジェクトを取得
    Dim swApp          As SldWorks.SldWorks
    Dim swModelDoc2    As SldWorks.ModelDoc2
    Set swApp = Application.SldWorks
    Set swModelDoc2 = swApp.ActiveDoc
    Dim swSelectionMgr As SldWorks.SelectionMgr
    Set swSelectionMgr = swModelDoc2.SelectionManager
   
    ' 指定注記の選択
    swModelDoc2.ClearSelection2 (True)
    blnRet = swModelDoc2.Extension.SelectByID2("詳細アイテム52@シート フォーマット1", "NOTE", 0.2754988767696, 0.02055260346612, 0, False, 0, Nothing, 0)
   
    ' 選択中の注記の文字置き換え
    Dim swNote As SldWorks.Note
    Dim strNote As String
    Dim vntPoint As Variant
    Dim strMsg As String
    For i = 0 To swSelectionMgr.GetSelectedObjectCount2(0)
        If swSelectionMgr.GetSelectedObjectType3(i, 0) = swSelectType_e.swSelNOTES Then
            ' 注記オブジェクト取得
            Set swNote = swSelectionMgr.GetSelectedObject6(i, 0)
            ' 注記の内容を表示
            vntPoint = swNote.GetTextPoint
            strMsg = ""
            strMsg = strMsg & "Name    =" & swNote.GetName & vbCrLf
            strMsg = strMsg & "Text    =" & swNote.GetText & vbCrLf
            strMsg = strMsg & "TagName  =" & swNote.TagName & vbCrLf
            strMsg = strMsg & "TextPoint=" & vntPoint(0) & "," & vntPoint(1) & "," & vntPoint(2)
            MsgBox strMsg
            ' 特定の文字を「$PRP:"設計"」に置き換え
            strNote = Replace(swNote.GetText, "Makoron", "$PRP:" & Chr(34) & "設計" & Chr(34))
            blnRet = swNote.SetText(strNote)
       
        End If
    Next
   
End Sub


議長に報告する   記録済み
shamoji
Full メンバー
***

オフライン

投稿: 45



I'm a llama!

プロファイルを見る
Re:注記編集について
« 返信 #4 投稿日: 2010/07/09 - 09:37:01 »
引用して返信

Makoron様
ご回答有難うございました。
すみません、私の初歩的なミスでした。

Set swNote = swSelectionMgr.GetSelectedObject6(i, 0)

上記のコードをコピーし忘れておりました。

図面の名前と作成日を一括変更するマクロを作っておりまして、大変助かりました。

いつも有難うございます。
議長に報告する   記録済み
ページ: [1] Page Top 返信 返信のお知らせ Print 
仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: 注記編集について 前のトピック 次のトピック
ジャンプします: