Manipulation du contenu d'un espace de travail à l'aide de scripts

Vous pouvez également manipuler le contenu d'un espace de travail à l'aide des éléments suivants :

  • Le WorkspaceDocument qui correspond aux documents que vous pouvez ajouter dans l'espace de travail. Il peut contenir des WorkspaceModel (modèles attachés à un espace de travail) et des WorkspaceFile (fichiers externes attachés à un espace de travail).

  • Le WorkspaceFolder qui correspond aux dossiers de l'espace de travail. Vous pouvez les créer, les supprimer et les renommer. Vous pouvez également ajouter des documents dans les dossiers.

Vous pouvez utiliser la méthode AddDocument(ByVal filename As String, ByVal position As Long = -1) As BaseObject sur un WorkspaceFolder pour ajouter des documents à l'espace de travail.

Exemple de manipulation d'espace de travail :

Option Explicit
' Close existing workspace and save it to Temp
Dim workspace, curentFolder
Set workspace = ActiveWorkspace
workspace.Load "%_EXAMPLES%\mywsp.sws"
Output "Saving current workspace to ""Example directory : "+EvaluateNamedPath("%_EXAMPLES%\temp.sws")
workspace.Save "%_EXAMPLES%\Temp.SWS"
workspace.Close
workspace.Name = "VBS WSP"
workspace.FileName = "VBSWSP.SWS"
workspace.Load "%_EXAMPLES%\Temp.SWS"
dim Item, subitem
for each Item in workspace.children
   If item.IsKindOf(PdWsp.cls_WorkspaceFolder) Then 
      ShowFolder (item)
      renameFolder item,"FolderToRename", "RenamedFolder"   
      deleteFolder item,"FolderToDelete"
      curentFolder = item
   ElsIf item.IsKindOf(PdWsp.cls_WorkspaceModel) Then    
   ElsIf item.IsKindOf(PdWsp.cls_WorkspaceFile) Then    
   End if    
next
 Dim subfolder
'insert folder in root
 Set subfolder = workspace.Children.CreateNew(PdWsp.cls_WorkspaceFolder)
 subfolder.name = "Newfolder(VBS)"
 'insert folder in root at pos 6
 Set subfolder = workspace.Children.CreateNewAt(5, PdWsp.cls_WorkspaceFolder)
 subfolder.name = "Newfolder(VBS)insertedAtPos5"'
   ' add a new folder in this folder
 Set subfolder = subfolder.Children.CreateNew(PdWsp.cls_WorkspaceFolder)
 subfolder.name = "NewSubFolder(VBS)"
 subfolder.AddDocument EvaluateNamedPath("%_EXAMPLES%\pdmrep.rtf")
 subfolder.AddDocument EvaluateNamedPath("%_EXAMPLES%\cdmrep.rtf")
 subfolder.AddDocument EvaluateNamedPath("%_EXAMPLES%\project.pdm")
 subfolder.AddDocument EvaluateNamedPath("%_EXAMPLES%\demo.oom")
 dim lastmodel
 set lastmodel = subfolder.AddDocument (EvaluateNamedPath("%_EXAMPLES%\Ordinateurs.fem"))
 lastmodel.open
 lastmodel.name = "Computers"
 lastmodel.close
 'detaching model from workspace
 lastmodel.delete
workspace.Save "%_EXAMPLES%\Final.SWS"