閱讀英文

共用方式為


同步處理物件 (Office)

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

注意

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

註解

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

如需共用檔本機和伺服器複本之間可能存在的差異和衝突的其他資訊,請參閱 Status 屬性。

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

Sync物件的GetUpdatePutUpdateResolveConflict方法不會傳回狀態碼,因為它們會以非同步方式完成其工作。 Sync 物件會提供重要的狀態資訊透過單一的事件,以開發人員可以透過下列應用程式特定事件來存取:

  • 在 Word 中,透過Document物件的Sync事件或Application物件的DocumentSync事件。

  • 在 Excel 中,透過Workbook物件的Sync事件或Application物件的WorkbookSync事件。

  • 在 Microsoft PowerPoint 中,透過 Application物件的PresentationSync事件。

上述的 Sync 事件會傳回 msoSyncEventType 值。

Sync 物件模型提供是否共用且啟用或停用使用中文件上同步處理。 文件活頁簿簡報 物件的 Sync 屬性不會傳回 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 支援與意見反應