Compartir a través de


Objeto Sync (Office)

La propiedad Sync del objeto Document de Microsoft Word, el objeto Workbook de Microsoft Excel y el objeto de presentación en Microsoft PowerPoint, devuelve un objeto Sync.

Nota:

A partir de Microsoft Office 2010, este objeto o miembro no se debe usar más.

Comentarios

Use el objeto Sync para administrar la sincronización de las copias locales y del servidor de un documento compartido almacenado en un sitio de SharePoint. La propiedad Status devuelve información importante sobre el estado actual de la sincronización. Utilice el método GetUpdate para actualizar el estado de sincronización. Utilice las propiedades LastSyncTime, ErrorType y WorkspaceLastChangedBy para devolver información adicional.

Consulte la propiedad Status para obtener información adicional sobre las diferencias y conflictos que pueden existir entre las copias locales y del servidor de los documentos compartidos.

Utilice el método PutUpdate para guardar los cambios locales en el servidor. Cierre y vuelva a abrir el documento para recuperar la versión más reciente desde el servidor cuando no se han efectuado ningún cambio local. Utilice el método ResolveConflict para resolver las diferencias entre la copias local y del servidor o el método OpenVersion para abrir una versión diferente junto con la versión local abierta del documento.

Los métodos GetUpdate, PutUpdate y ResolveConflict del objeto Sync no devuelven códigos de estado porque completan sus tareas de forma asincrónica. El objeto Sync proporciona información de estado importante mediante un evento único, que el programador puede tener acceso mediante los siguientes eventos específicos de la aplicación:

  • En Word, a través del evento Sync del objeto Document o del evento DocumentSync del objeto Application .

  • En Excel, a través del evento Sync del objeto Workbook o del evento WorkbookSync del objeto Application .

  • En Microsoft PowerPoint, a través del evento PresentationSync del objeto Application .

El evento Sync descrito anteriormente devuelve un valor msoSyncEventType.

El modelo de objetos Sync está disponible si el uso compartido y la sincronización se habilitan o deshabilitan en el documento activo. La propiedad Sync de los objetos Document, Workbook y Presentation no devuelve Nothing cuando el documento activo no está compartido o la sincronización no está habilitada. Utilice la propiedad Status para determinar si el documento está compartido y si la sincronización está activada.

No todos los problemas de sincronización de documentos generan errores de tiempo de ejecución capturables. Después de usar los métodos del objeto Sync , es una buena idea comprobar la propiedad Status ; si la propiedad Status es msoSyncStatusError, compruebe la propiedad ErrorType para obtener información adicional sobre el tipo de error que se ha producido.

En muchos casos, la mejor forma de resolver una condición de error es llamar al método GetUpdate. Por ejemplo, si una llamada a PutUpdate genera una condición de error, una llamada a GetUpdate restablecerá el estado a msoSyncStatusLocalChanges.

Ejemplo:

En el ejemplo siguiente muestra varios métodos del objeto Sync en función del estado del documento activo.

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

Consulte también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.