VBSを使用して、ダイアグラム内の要素をダイアグラムの存在する親パッケージに移動します。 Enterprise Architectのリソースごとに、ダイアグラムオブジェクトから要素IDを取得します。 elementObjectを使用する親パッケージを取得しようとすると、私には未定義の値が与えられるので、diagramObjectのelementIDは要素のelementIDと等価ではないようです。図オブジェクトから要素オブジェクトのパッケージIDを取得
ダイアグラムオブジェクトから要素の親パッケージに到達する方法はありますか?
編集:私は
特定の部分を使用していますコードを追加しました():
dim diagObject
set diagObject = package.Diagrams.GetAt(i).DiagramObjects.GetAt(j)
'add element to list and track its origin
dim elementID
elementID = diagobject.ElementID
dim element
set element = Repository.GetElementByID(elementID)
Session.Prompt elementID, promptOK
Session.Prompt "Test: " & element.PackageID, promptOK
全体の機能:ここで
Function prepare(package)
'define parent package id
dim parentID
parentID = package.PackageID
'iterate through diagrams
Dim i
For i = 0 to Package.Diagrams.Count-1
'iterate through diagram objects
Session.Prompt "iterate through diagram objects", promptOK
Dim j
For j = 0 to package.Diagrams.GetAt(i).DiagramObjects.Count-1
'Check if the object is a element
Session.Prompt package.Diagrams.GetAt(i).DiagramObjects.GetAt(j).ObjectType, promptOK
If (19 = package.Diagrams.GetAt(i).DiagramObjects.GetAt(j).ObjectType) Then
Session.Prompt "IS A element", promptOK
dim diagObject
set diagObject = package.Diagrams.GetAt(i).DiagramObjects.GetAt(j)
'add element to list and track its origin
dim elementID
elementID = diagobject.ElementID
dim element
set element = Repository.GetElementByID(elementID)
Session.Prompt elementID, promptOK
Session.Prompt "Test: " & element.PackageID, promptOK
originList.Add elementID, element.PackageID
Session.Prompt PackageID, promptOK
'move element to currently selected package
element.PackageID = parentID
Session.Prompt "Moved", promptOK
End If
Next
Next
使用しているコードを投稿してください。 Esp。親パッケージを取得する方法。 –
私は使用しているコードを含むように質問を更新しました。 – Cgrillo