SharedWorkspace Object
The SharedWorkspace property of a Microsoft Office Word 2003 Document object, Microsoft Office Excel 2003 Workbook object, and Microsoft Office PowerPoint 2003 Presentation object returns a SharedWorkspace object which allows the developer to add the active document to a Microsoft Windows SharePoint Services document workspace on the server and to manage other objects in the shared workspace.
Using the SharedWorkspace Object
Use the SharedWorkspace object to add the active Word, Excel or PowerPoint document to a Windows SharePoint Services document workspace on the server in order to take advantage of the workspace's collaboration features, or to disconnect or remove the document from the workspace. Use the SharedWorkspace object's collections to manage files, folders, links, members and tasks associated with the shared document.
The SharedWorkspace object model is available whether or not a document is stored in a workspace. The SharedWorkspace property of the Document, Workbook and Presentation objects does not return Nothing
when the document is not shared. Use the Connected property of the SharedWorkspace object to determine whether the active document is in fact saved in and connected to a shared workspace.
Users require appropriate permissions to use the objects, properties and methods in the SharedWorkspace object hierarchy.
Use the SharedWorkspaceFiles collection, accessed through the Files property of the SharedWorkspace object, to manage documents and files saved in a shared workspace.
Use the SharedWorkspaceFolders collection, accessed through the Folders property of the SharedWorkspace object, to manage subfolders within the main document library folder of a shared workspace.
Use the SharedWorkspaceLinks collection, accessed through the Links property of the SharedWorkspace object, to manage links to additional documents and information of interest to the members who are collaborating on the document(s) in the shared workspace.
Use the SharedWorkspaceMembers collection, accessed through the Members property of the SharedWorkspace object, to manage users who have rights to participate in a shared workspace and to collaborate on the shared document(s) saved in the workspace.
Use the SharedWorkspaceTasks collection, accessed through the Tasks property of the SharedWorkspace object, to manage tasks assigned to the members who are collaborating on the document(s) in the shared workspace.
Use the CreateNew method to create a new document workspace and to add the active document to the workspace. Use the Name and URL properties to return information about the workspace.
The SharedWorkspace object uses a local cache of objects and properties from the server. The developer may need to update this cache before performing certain operations, or to save cached property changes back to the server. Use the Refresh method of the SharedWorkspace object to refresh the local cache from the server, and the LastRefreshed property to determine when the refresh operation last took place. Use the Save method of the SharedWorkspaceLink and SharedWorkspaceTask objects after modifying their properties locally, in order to upload the changes to the server.
Use the Disconnect method to disconnect the local copy of the active document from the shared workspace, while leaving the shared copy intact in the workspace. Use the RemoveDocument method to remove the shared document from the shared workspace entirely.
Users require appropriate permissions to use the objects, properties and methods in the SharedWorkspace object hierarchy. Use the Role argument when adding members to the SharedWorkspaceMembers collection to specify the set of permissions specific to each workspace member.
The following example displays the properties of the shared workspace to which the active document is connected.
Dim swsWorkspace As Office.SharedWorkspace
Dim strSWSInfo As String
Set swsWorkspace = ActiveWorkbook.SharedWorkspace
strSWSInfo = swsWorkspace.Name & vbCrLf & _
" - URL: " & swsWorkspace.URL & vbCrLf & _
"The shared workspace contains " & vbCrLf & _
" - Files: " & swsWorkspace.Files.Count & vbCrLf & _
" - Folders: " & swsWorkspace.Folders.Count & vbCrLf & _
" - Links: " & swsWorkspace.Links.Count & vbCrLf & _
" - Members: " & swsWorkspace.Members.Count & vbCrLf & _
" - Tasks: " & swsWorkspace.Tasks.Count & vbCrLf
MsgBox strSWSInfo, vbInformation + vbOKOnly, _
"Shared Workspace Information"
Set swsWorkspace = Nothing
When using the SharedWorkspace object model, it is possible to create conditions where the SharedWorkspace object cache is not synchronized with the user interface displayed in the Shared Workspace pane of the active document. For example, if the CreateNew method programmatically adds the active document to a new workspace while the Shared Workspace pane is open, the Shared Workspace pane will continue to display the Create button. In circumstances like these, if the user makes a selection in the Shared Workspace pane that is no longer valid, an error is raised and a refresh operation is carried out to synchronize the display with the current document state and shared workspace data.
The Document, Workbook and Presentation objects also have a Sync property which returns a Sync object. Use the Sync object and its properties and methods to manage the synchronization of the local and the server copies of the shared document.