2017-08-29 3 views
0

excel vbaを使用してpowerdesignerモデルを操作する。私はアクセスしようとしている複数のモデルを開いている。私のコードでは、私は簡単に使用して、現在アクティブなモデルにアクセスすることができます。Powerdesigner VBA - アクティブモデルを切り替える方法

も開いている別のモデルにアクティブなモデルを切り替える方法はありますか?私は利用可能な方法を見てきましたが、この作業を実行できる方法は見当たりません。

おかげ

答えて

1

は、私はそれが副作用を持っている可能性が理解し、私は想像することができる最高の OpenViewを使用することです。

1)VBAを使用してモデルを開き、OpenModelから参照されるオブジェクトを使用します:

Set modelBase = pd_App.OpenModel(pathBase, omf_DontOpenView)

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 
1

つのオプション(これは、必要に応じて調整...もっとVBScriptのです) 2)モデルがすでに開いている場合は(私があなたの質問から推測しているように)、ワークスペースを質問してそこから選択することができます:

For Each model In pd_App.ActiveWorkspace.Children If model.Name = "My Model" Then Set theModelIWant = model : Exit For Next