こちらの続きです。
表題欄の細々した項目をパラメータで変更する1 - C#ATIA
前回の最後に "ディテールシートにテーブル作り~" と書きました。
パラメータじゃなくて、テーブルを利用して を試すために
こんなマクロを作りました。
'vba Option Explicit Sub CATMain() 'ドキュメント Dim dDoc As DrawingDocument Set dDoc = CATIA.ActiveDocument Dim infoTable As DrawingTable Set infoTable = getInfotable(dDoc) Dim txt As DrawingText Set txt = infoTable.GetCellObject(2, 3) Dim prms As Parameters Set prms = dDoc.Parameters Dim subPrms As Parameters Set subPrms = prms.SubList(txt, False) Dim prmStr As String prmStr = subPrms.GetNameToUseInRelation(txt) 'テキストコレクション Dim txts As DrawingTexts Set txts = getBackViewTexts(dDoc) If txts.Count < 1 Then MsgBox "背景図に文字がありませんでした" Exit Sub End If Dim txt2 As DrawingText For Each txt2 In txts If txt2.name = "date" Then Exit For End If Next '属性適用 Call txt2.InsertVariable(0, 0, subPrms.Item(1)) Stop End Sub Private Function getInfotable( _ ByVal dDoc As DrawingDocument) _ As DrawingTable Set getInfotable = Nothing Dim st As DrawingSheet Set st = dDoc.sheets.Item("インフォメーション") Dim vi As DrawingView Set vi = st.views.Item(1) Dim tbl As DrawingTable For Each tbl In vi.Tables If tbl.name = "インフォメーション" Then Set getInfotable = tbl Exit Function End If Next End Function
気力なくコメントも入っていないのは、出来なかったからです。
テーブルのセルは、属性リンクを付けて結果を表示させることは出来るのですが、
属性リンクの参照元になる事が出来ないのでは無いかと思っています。
GUIでも出来ないし。 違うかな? 方法あるのかな?
(Drawのテキストを参照するテキストは、GUIでも作れ無さそう)