Re: VBAを使用して、選択エレメント名を取得する。 ( No.1 ) |
- 日時: 2005/07/27 15:40
- 名前: mmy
| マクロ実行後にマウスでオブジェクトを選択する場合
関連記事[No.2098] emilyさんの投稿より
' 以下マクロ
Sub CATMain()
' 以下2行はマクロ実行後にマウスでオブジェクトを選択する場合に必要です。 Dim InputDocType(0) ' (事前にオブジェクトをマウスで選択していた場合は不要です。) InputDocType(0) = "AnyObject" ' (事前にオブジェクトをマウスで選択していた場合は不要です。)
Set part1 = CATIA.ActiveDocument.Part
Set ActDocSel = CATIA.ActiveDocument.Selection
' オブジェクトをマウスで選択するのを待ちます。 Result = ActDocSel.SelectElement2(InputDocType, "Select Object", True) ' (事前にオブジェクトをマウスで選択していた場合は不要です。)
Set obj = ActDocSel.Item(1).Value
strObjName = obj.Name 'オブジェクト名 obj.Name のままで良いのですが代入しました。
If (strObjName = "") Then Call MsgBox("選択されたオブジェクト名を取得できませんでした。 ", vbExclamation & vbOKOnly, "オブジェクト名取得失敗") Else Call MsgBox(strObjName + " を" & vbLf & "作業オブジェクトに設定します。 ", vbInformation & vbOKOnly, "オブジェクト名取得成功") End If
part1.InWorkObject = obj '選択されたオブジェクトを「作業オブジェクトに設定」
End Sub
' 以上マクロ |
|
Re: VBAを使用して、選択エレメント名を取得する。 ( No.2 ) |
- 日時: 2005/07/28 14:32
- 名前: emily
| No.1の中で、オブジェクト名 obj.Nameが「Reference」という文字になることがあり得ます。(InputDocType(0) = "AnyObject"のときだったか。確認は簡単ですから自分で表示してやってみるに限ります) 確か、obj.DisplayNameを使ってみれば出来るかと。以上、蛇足でした。 |
|
|