Objet sync (Office)
La propriété Sync de l’objet Document dans Microsoft Word, de l’objet Workbook dans Microsoft Excel et de l’objet Presentation dans Microsoft PowerPoint renvoie un objet Sync .
Notes
À partir de Microsoft Office 2010, cet objet ou ce membre ne doit plus être utilisé.
Utilisez l’objet Sync pour gérer la synchronisation des copies locales et serveur d’un document partagé stocké sur un site SharePoint. La propriété Status renvoie des informations importantes sur l'état actuel de la synchronisation. Utilisez la méthode GetUpdate pour actualiser le statut de la synchronisation. Utilisez les propriétés LastSyncTime, ErrorType et WorkspaceLastChangedBy pour renvoyer des informations complémentaires.
Consultez la propriété Status pour plus d’informations sur les différences et les conflits qui peuvent exister entre les copies locales et serveur des documents partagés.
Utilisez la méthode PutUpdate pour enregistrer les modifications locales sur le serveur. Fermez et rouvrez le document pour extraire du serveur la version la plus récente lorsque aucune modification locale n'a été apportée. Utilisez la méthode ResolveConflict pour résoudre les différences entre la copie locale et la copie sur le serveur, ou la méthode OpenVersion pour ouvrir une autre version parallèlement à la version locale actuellement ouverte du document.
Les méthodes GetUpdate, PutUpdate et ResolveConflict de l’objet Sync ne retournent pas de codes d’état, car elles effectuent leurs tâches de manière asynchrone. L'objet Sync fournit des informations d'état importantes via un seul événement, auxquelles le développeur peut accéder via les événements d'application suivants :
Dans Word, via l’événement Sync de l’objet Document ou l’événement DocumentSync de l’objet Application .
Dans Excel, via l’événement Sync de l’objet Workbook ou l’événement WorkbookSync de l’objet Application .
Dans Microsoft PowerPoint, via l’événement PresentationSync de l’objet Application .
L'événement Sync décrit ci-dessus renvoie une valeur msoSyncEventType.
Le modèle objet Sync est disponible que le partage et la synchronisation soient activés ou désactivés sur le document actif. La propriété Sync des objets Document, Workbook et Presentation ne renvoie pas Nothing lorsque le document actif n’est pas partagé ou que la synchronisation n’est pas activée. Utilisez la propriété Status pour déterminer si le document est partagé et si la synchronisation est activée.
Tous les problèmes de synchronisation de document ne génèrent pas d’erreur d’exécution récupérable. Après avoir utilisé les méthodes de l’objet Sync , il est judicieux de vérifier la propriété Status ; si la propriété Status est msoSyncStatusError, vérifiez la propriété ErrorType pour obtenir des informations supplémentaires sur le type d’erreur qui s’est produite.
Dans de nombreux cas, la meilleure façon de résoudre une condition d’erreur consiste à appeler la méthode GetUpdate . Si, par exemple, un appel à PutUpdate provoque une erreur, un appel à GetUpdate permet de rétablir l’état msoSyncStatusLocalChanges.
Cet exemple montre comment illustrer différentes méthodes de l'objet Sync à partir de l'état du document actif.
Dim objSync As Office.Sync
Dim strStatus As String
Set objSync = ActiveDocument.Sync
If objSync.Status > msoSyncStatusNoSharedWorkspace Then
Select Case objSync.Status
Case msoSyncStatusConflict
objSync.ResolveConflict msoSyncConflictMerge
ActiveDocument.Save
objSync.ResolveConflict msoSyncConflictClientWins
strStatus = "Conflict resolved by merging changes."
Case msoSyncStatusError
strStatus = "Last error type: " & objSync.ErrorType
Case msoSyncStatusLatest
strStatus = "Document copies already in sync."
Case msoSyncStatusLocalChanges
objSync.PutUpdate
strStatus = "Local changes saved to server."
Case msoSyncStatusNewerAvailable
objSync.GetUpdate
strStatus = "Local copy updated from server."
Case msoSyncStatusSuspended
objSync.Unsuspend
strStatus = "Synchronization resumed."
End Select
Else
strStatus = "Not a shared workspace document."
End If
MsgBox strStatus, vbInformation + vbOKOnly, "Sync Information"
Set objSync = Nothing
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.