Powerdesigner VBA-如何切换活动模型



使用excel vba处理powerdesigner模型。我打开了多个模型,正在尝试访问这些模型。在我的代码中,我可以使用轻松访问当前的活动模型

Dim pd_App As PDCommon.Application
Set pd_App = New PDCommon.Application
Dim baseModel As PdPDM.Model
Set baseModel = pd_App.ActiveModel

有没有办法将活动模型切换到另一个也打开的模型?我已经查看了可用的方法,没有发现任何可以执行此任务的方法。

感谢

我知道它可能会有副作用,但我能想到的最好的方法是使用CCD_ 1。

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

相关内容

  • 没有找到相关文章

最新更新