同期オブジェクト (Office)
Microsoft Word、Microsoft Excel で、 ブック のオブジェクト、および Microsoft PowerPoint の プレゼンテーション オブジェクト内の ドキュメント オブジェクトの Sync プロパティは、 同期 オブジェクトを返します。
注意
Microsoft Office 2010 以降、このオブジェクトまたはメンバーは推奨されていないため、使用しないでください。
Sync オブジェクトを使用して、SharePoint サイトに格納されている共有ドキュメントのローカル コピーとサーバー コピーの同期を管理します。 Status プロパティは、同期の現在の状態に関する重要な情報を返します。 同期のステータスを更新するのには、 GetUpdate メソッドを使用します。 LastSyncTime 、 ErrorType 、および WorkspaceLastChangedBy プロパティを使用して、追加情報を返します。
共有ドキュメントのローカル コピーとサーバー コピーの間に存在する可能性がある相違点と競合の詳細については、 Status プロパティを参照してください。
サーバーにローカルでの変更を保存するのには、 PutUpdate メソッドを使用します。 閉じるし、ローカルの変更が加えられていない場合、サーバーから最新バージョンを取得するためにドキュメントを再度開きます。 ResolveConflict メソッドをローカル コピーとサーバー コピー間の相違点を解決するのにはまたはを別のバージョンのドキュメントの現在開いているローカル バージョンと併せて開くには OpenVersion メソッドを使用します。
Sync オブジェクトの GetUpdate、PutUpdate、ResolveConflict の各メソッドは、タスクを非同期的に完了するため、状態コードを返しません。 同期 オブジェクトには、状態情報は次のアプリケーション固有のイベントを通じて、開発者がアクセスできる 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 のサポートおよびフィードバックを参照してください。