共用方式為


Office) 同步物件 (

Microsoft Word、 Microsoft Excel 中的 Workbook 物件以及 Microsoft PowerPoint 中的 Presentation 物件中的 Document 物件的 Sync 屬性都會傳回 Sync 物件。

注意事項

自 Microsoft Office 2010 起,這個物件或成員已被取代且不應該再使用。

註解

使用 Sync 物件來管理儲存在 SharePoint 網站的共享文件的本地與伺服器副本的同步。 Status 屬性會傳回目前的同步處理狀態的重要資訊。 使用 GetUpdate 方法來重新整理同步狀態。 使用在 LastSyncTimeErrorType 、 和 WorkspaceLastChangedBy 屬性可傳回額外的資訊。

有關本地與伺服器副本之間可能存在的差異與衝突,請參閱 狀態 屬性。

使用 PutUpdate 方法本機變更儲存至伺服器。 關閉並重新開啟文件擷取的最新版本的伺服器時沒有本機有所變更。 使用以解決差異的本機複本與伺服器複本, ResolveConflict 方法或 OpenVersion 方法來開啟文件的目前開啟的本機版本不同版本。

Sync 物件的 GetUpdatePutUpdateResolveConflict 方法不會回傳狀態碼,因為它們是非同步完成任務的。 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 支援與意見反應