英語で読む

次の方法で共有


同期オブジェクト (Office)

Microsoft Word、Microsoft Excel で、 ブック のオブジェクト、および Microsoft PowerPoint の プレゼンテーション オブジェクト内の ドキュメント オブジェクトの Sync プロパティは、 同期 オブジェクトを返します。

注意

Microsoft Office 2010 以降、このオブジェクトまたはメンバーは推奨されていないため、使用しないでください。

注釈

Sync オブジェクトを使用して、SharePoint サイトに格納されている共有ドキュメントのローカル コピーとサーバー コピーの同期を管理します。 Status プロパティは、同期の現在の状態に関する重要な情報を返します。 同期のステータスを更新するのには、 GetUpdate メソッドを使用します。 LastSyncTimeErrorType 、および WorkspaceLastChangedBy プロパティを使用して、追加情報を返します。

共有ドキュメントのローカル コピーとサーバー コピーの間に存在する可能性がある相違点と競合の詳細については、 Status プロパティを参照してください。

サーバーにローカルでの変更を保存するのには、 PutUpdate メソッドを使用します。 閉じるし、ローカルの変更が加えられていない場合、サーバーから最新バージョンを取得するためにドキュメントを再度開きます。 ResolveConflict メソッドをローカル コピーとサーバー コピー間の相違点を解決するのにはまたはを別のバージョンのドキュメントの現在開いているローカル バージョンと併せて開くには OpenVersion メソッドを使用します。

Sync オブジェクトの GetUpdatePutUpdateResolveConflict の各メソッドは、タスクを非同期的に完了するため、状態コードを返しません。 同期 オブジェクトには、状態情報は次のアプリケーション固有のイベントを通じて、開発者がアクセスできる 1 つのイベントが用意されています。

  • Word では、Document オブジェクトの Sync イベントまたは Application オブジェクトの DocumentSync イベントを使用します。

  • Excel では、Workbook オブジェクトの Sync イベントまたは Application オブジェクトの WorkbookSync イベントを使用します。

  • Microsoft PowerPoint では、Application オブジェクトの PresentationSync イベントを使用します。

上記の 同期 イベントは、 msoSyncEventType 値を返します。

Sync オブジェクト モデルは、使用可能な共有するかどうかと同期が有効になっているまたは作業中の文書で無効にします。 同期 オブジェクトのプロパティ、 ドキュメントブック 、および プレゼンテーション を返さない 何も 作業中の文書が共有されていない、または同期が有効になっていない場合です。 ドキュメントが共有されているかどうかとの同期が有効になっているかどうかを決定するのにには、 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 のサポートおよびフィードバックを参照してください。