Skip to Content

Scripting: Select Model from OpenedModel Collection

Hello Community,

i am searching for the function or the method call to get a specific model from the List "Models" (which contains all opened models)

In PowerShell I can achieve this by

$powerDesigner = New-Object -com powerdesigner.application

$targetModel = $powerDesigner.Models | Where Code -eq $targetModelCode

In PowerShell I then have the model object in the variable targetModel.

I need the same now in VBScript.

Is there some kind of method like FindChildByCode for the Model List? The documentation says that Models is a global object reference list, but I don´t see a method to get a specific item out of this list...

Kind regards

Stephan

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

2 Answers

  • Oct 16 at 03:02 PM

    I don't think you can do what you ask, as the collection is not a Named Object. You'll have to resort to this (someone with more programming experience may come up with a better approach):

    dim mdl
    for each mdl in models
       if mdl.code = "PRODUCTS_AND_SERVICES_METAMODEL" then output mdl
    next
    Add comment
    10|10000 characters needed characters exceeded

  • Oct 24 at 05:45 AM

    Perhaps something like this:

    set ws = ActiveWorkspace

    for each wsmdl in ws.children

    if wsmdl.modelType = "PDM" and not wsmdl.ModelObject is Nothing then

    Add comment
    10|10000 characters needed characters exceeded