Random Thoughts |
Patience will come to he who waits for it.
|
言語 |
|
|
|
フォーラムニュース: 質問、相談カテゴリに「SolidWorks操作方法」に関するフォーラムを追加しました。(2003/11/27) |
いらっしゃい、 ゲストさん. まずはこちら→ ログイン または 登録. 2024/11/23 - 11:33:14 |
|
|
|
著者
|
トピック: 注記編集について (閲覧数 1759 回) |
|
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さん、こんにちは。
サンプルマクロを作ってみました! 参考にしてみてください。 (ちなみに、図面が対象でいいですよね?)
|
|
|
|
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)
上記のコードをコピーし忘れておりました。
図面の名前と作成日を一括変更するマクロを作っておりまして、大変助かりました。
いつも有難うございます。
|
|
|
|
|
|
|
|