使用excel vba處理powerdesigner模型。我嘗試訪問多個模型。在我的代碼,我可以使用易於訪問當前的活動模型:Powerdesigner VBA - 如何切換活動模型
有沒有辦法到活動模式切換到另一種模式,也是開放?我查看了可用的方法,但沒有看到可以執行此任務的任何方法。
感謝
使用excel vba處理powerdesigner模型。我嘗試訪問多個模型。在我的代碼,我可以使用易於訪問當前的活動模型:Powerdesigner VBA - 如何切換活動模型
有沒有辦法到活動模式切換到另一種模式,也是開放?我查看了可用的方法,但沒有看到可以執行此任務的任何方法。
感謝
我的理解可能有副作用,但我能想象的最好的方法是使用 OpenView
。
option explicit
if SelectDiagram("diagone") then
output "model selected: " & activemodel.name
end if
' try to activate a model by its default diagram name
' returns true if the model was opened
function SelectDiagram(name)
dim m
for each m in models
if m.defaultdiagram.name = name then
m.defaultdiagram.openview
SelectDiagram = true
exit function
end if
next
SelectDiagram = false
end function
兩個選項(這是更多的VBScript ...根據需要進行調整):
1)使用VBA打開模型,並使用從OpenModel引用的對象:
Set modelBase = pd_App.OpenModel(pathBase, omf_DontOpenView)
2)如果模型已經打開(正如我從你的問題推斷),你可以詢問工作區並從那裏選擇:
For Each model In pd_App.ActiveWorkspace.Children If model.Name = "My Model" Then Set theModelIWant = model : Exit For Next