Partager via


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 .

Remarque

À partir de Microsoft Office 2010, cet objet ou ce membre ne doit plus être utilisé.

Remarques

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.

Exemple

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

Voir aussi

Assistance et commentaires

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.