Microsoft Word、 Microsoft Excel 中的 Workbook 物件以及 Microsoft PowerPoint 中的 Presentation 物件中的 Document 物件的 Sync 屬性都會傳回 Sync 物件。
注意事項
自 Microsoft Office 2010 起,這個物件或成員已被取代且不應該再使用。
註解
使用 Sync 物件來管理儲存在 SharePoint 網站的共享文件的本地與伺服器副本的同步。 Status 屬性會傳回目前的同步處理狀態的重要資訊。 使用 GetUpdate 方法來重新整理同步狀態。 使用在 LastSyncTime 、 ErrorType 、 和 WorkspaceLastChangedBy 屬性可傳回額外的資訊。
有關本地與伺服器副本之間可能存在的差異與衝突,請參閱 狀態 屬性。
使用 PutUpdate 方法本機變更儲存至伺服器。 關閉並重新開啟文件擷取的最新版本的伺服器時沒有本機有所變更。 使用以解決差異的本機複本與伺服器複本, ResolveConflict 方法或 OpenVersion 方法來開啟文件的目前開啟的本機版本不同版本。
Sync 物件的 GetUpdate、PutUpdate 和 ResolveConflict 方法不會回傳狀態碼,因為它們是非同步完成任務的。 Sync 物件會提供重要的狀態資訊透過單一的事件,以開發人員可以透過下列應用程式特定事件來存取:
在 Word 中,透過文件物件的 Sync 事件或應用程式物件的 DocumentSync 事件。
在 Excel 中,透過工作簿物件的 Sync 事件或應用程式物件的 WorkbookSync 事件。
在 Microsoft PowerPoint 中,透過應用程式物件的 PresentationSync 事件。
上述的 Sync 事件會傳回 msoSyncEventType 值。
Sync 物件模型提供是否共用且啟用或停用使用中文件上同步處理。 文件 、 活頁簿 及 簡報 物件的 Sync 屬性不會傳回 Nothing 時將使用中文件未共用或未啟用同步處理。 使用 Status 屬性來判斷是否為共用文件和是否啟用同步處理。
並非所有文件同步處理問題引發可截獲的執行階段錯誤。 使用 同步物件的方法 後,檢查 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 支援與意見反應。