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"