Объект Sync (Office)
Свойство Sync объекта Document в Microsoft Word, объекта Workbook в Microsoft Excel и объекта Presentation в Microsoft PowerPoint возвращает объект Sync .
Примечание
Начиная с Microsoft Office 2010 этот объект или элемент не рекомендуется использовать.
Используйте объект Sync для управления синхронизацией локальных и серверных копий общего документа, хранящегося на сайте SharePoint. Свойство Status возвращает важные сведения о текущем состоянии синхронизации. Используйте метод GetUpdate для обновления состояния синхронизации. Используйте свойства LastSyncTime, ErrorType и WorkspaceLastChangedBy , чтобы вернуть дополнительные сведения.
Дополнительные сведения о различиях и конфликтах, которые могут существовать между локальными и серверными копиями общих документов, см. в свойстве Status .
Используйте метод PutUpdate для сохранения локальных изменений на сервере. Закройте и снова откройте документ, чтобы получить последнюю версию с сервера, если локальные изменения не были внесены. Используйте метод ResolveConflict , чтобы устранить различия между локальной и серверной копиями, или метод OpenVersion , чтобы открыть другую версию вместе с открытой локальной версией документа.
Методы GetUpdate, PutUpdate и ResolveConflict объекта Sync не возвращают коды состояния, так как они выполняют свои задачи асинхронно. Объект Sync предоставляет важные сведения о состоянии через одно событие, к которому разработчик может получить доступ с помощью следующих событий, относящихся к приложению:
В Word через событие Sync объекта Document или событие DocumentSync объекта Application .
В Excel с помощью события Sync объекта Workbook или события WorkbookSync объекта Application .
В Microsoft PowerPoint через событие PresentationSync объекта Application .
Описанное выше событие Sync возвращает значение msoSyncEventType .
Объектная модель синхронизации доступна независимо от того, включены ли в активном документе общий доступ и синхронизация. Свойство Sync объектов Document, Workbook и Presentation не возвращает Значение Nothing , если активный документ не предоставлен или синхронизация не включена. Используйте свойство Status , чтобы определить, является ли документ общим и включена ли синхронизация.
Не все проблемы синхронизации документов создают перехватываемые ошибки времени выполнения. После использования методов объекта Sync рекомендуется проверить свойство Status ; Если свойство Status имеет значение msoSyncStatusError, проверьте свойство ErrorType для получения дополнительных сведений о типе произошедшей ошибки.
Во многих случаях лучшим способом устранения ошибки является вызов метода GetUpdate . Например, если вызов PutUpdate приводит к ошибке, вызов GetUpdate сбрасывает состояние msoSyncStatusLocalChanges.
В следующем примере показаны различные методы объекта Sync на основе состояния активного документа.
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
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.