Compartilhar via


Objeto de sincronização (Office)

A propriedade Sync do objeto Document no Microsoft Word, do objeto Workbook no Microsoft Excel e do objeto Presentation no Microsoft PowerPoint retorna um objeto Sync.

Observação

A partir do Microsoft Office 2010, este objeto ou membro foi preterido e não deve ser usado.

Comentários

Utilize o objeto Sincronizar para gerir a sincronização das cópias locais e do servidor de um documento partilhado armazenado num site do SharePoint. A propriedade Status retorna informações importantes sobre o estado atual da sincronização. Use o método GetUpdate para atualizar o status de sincronização. Use as propriedades LastSyncTime, ErrorType e WorkspaceLastChangedBy para retornar informações adicionais.

Veja a propriedade Estado para obter informações adicionais sobre as diferenças e conflitos que podem existir entre as cópias locais e de servidor dos documentos partilhados.

Use o método PutUpdate para salvar alterações locais no servidor. Feche e reabra o documento para recuperar a versão mais recente do servidor quando nenhuma alteração local são feitas. Use o método ResolveConflict para resolver diferenças entre a cópias local e do servidor ou o método OpenVersion para abrir uma versão diferente junto com a versão local aberta no momento do documento.

Os métodos GetUpdate, PutUpdate e ResolveConflict do objeto Sync não devolvem códigos status porque consertam as tarefas de forma assíncrona. O objeto Sync fornece informações de status importantes por meio de um único evento, o desenvolvedor pode acessar através os seguintes eventos de aplicativo específico:

  • No Word, através do evento Sincronizar do objeto Documento ou do evento DocumentSync do objeto Aplicação.

  • No Excel, através do evento Sincronizar do objeto Livro ou do evento WorkbookSync do objeto Aplicação .

  • No Microsoft PowerPoint, através do evento PresentationSync do objeto Aplicação .

O evento Sync descrito acima retorna um valor msoSyncEventType.

O modelo de objeto de sincronização está disponível se o compartilhamento e a sincronização estão habilitados ou desabilitados no documento ativo. A propriedade Sync dos objetos de documento, pasta de trabalho e a apresentação não retorna nada quando o documento ativo não é compartilhado ou a sincronização não está habilitada. Use a propriedade Status para determinar se o documento está compartilhado e se a sincronização está habilitada.

Nem todos os problemas de sincronização de documento geram erros interceptáveis de tempo de execução. Depois de utilizar os métodos do objeto Sincronizar, recomendamos que marcar a propriedade Estado; se a propriedade Estado for msoSyncStatusError, marcar a propriedade ErrorType para obter informações adicionais sobre o tipo de erro ocorrido.

Em muitas circunstâncias, a melhor maneira de resolver uma condição de erro é chamar o método GetUpdate. Por exemplo, se uma chamada para PutUpdate resultados em uma condição de erro, uma chamada para GetUpdate redefinirá o status msoSyncStatusLocalChanges.

Exemplo

O exemplo a seguir demonstra vários métodos do objeto Sync com base no status do documento ativo.

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

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.