Syncオブジェクト
Syncオブジェクトについての解説になります。
目次
Syncオブジェクトとは
SyncオブジェクトはMicrosoft Office Word 2003 Document オブジェクト、Microsoft Office Excel 2003 Workbook オブジェクト、および Microsoft Office PowerPoint 2003 Presentation オブジェクトの Sync プロパティは、Sync オブジェクトを返します。
Microsoft Windows SharePoint Services ドキュメント ワークスペースに格納されている共有ドキュメントのローカル コピーとサーバー コピーの同期を管理するには、Sync オブジェクトを使用します。同期の現在の状態について調べるには、Status プロパティを使用します。同期の状態を更新するには、GetUpdate メソッドを使用します。同期に関する追加情報を取得するには、LastSyncTime プロパティ、ErrorType プロパティ、および WorkspaceLastChangedBy プロパティを使用します。
共有ドキュメントのローカル コピーとサーバー コピーの間で存在し得る相違状態と競合状態の詳細については、「Status プロパティ」を参照してください。
ローカルでの変更内容をサーバーに保存するには、PutUpdate メソッドを使用します。ローカル コピーで何も変更していない場合、サーバーから最新のバージョンを取得するには、ドキュメントをいったん閉じて、開き直してください。ローカル コピーとサーバー コピーの相違を解決するには、ResolveConflict メソッドを使用します。または、OpenVersion メソッドを使用すると、現在開いているローカル バージョンのドキュメントと同時に、別のバージョンを開くことができます。
Sync オブジェクトの GetUpdate メソッド、PutUpdate メソッド、および ResolveConflict メソッドは、非同期に処理を実行するため、状態コードを返しません。Sync オブジェクトが提供する状態情報は、特定のイベントを通じて取得できます。このイベントは、アプリケーションによって異なります。
Word の場合は、Document オブジェクトの Sync イベント、または Application オブジェクトの DocumentSync イベントExcel の場合は、Workbook オブジェクトの Sync イベント、または Application オブジェクトの WorkbookSync イベントPowerPoint の場合は、Application オブジェクトの PresentationSync イベント
これらの Sync イベントは、次に示す msoSyncEventType クラスの定数の値を返します。
使用できる定数は、次に示す msoSyncEventType クラスの定数のいずれかです。 msoSyncEventDownloadInitiated (0) msoSyncEventDownloadSucceeded (1) msoSyncEventDownloadFailed (2) msoSyncEventUploadInitiated (3) msoSyncEventUploadSucceeded (4) msoSyncEventUploadFailed (5) msoSyncEventDownloadNoChange (6) msoSyncEventOffline (7)
次の使用例は、アクティブ ドキュメントの状態に応じて 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 = "変更のマージによって競合が解決されました。"
Case msoSyncStatusError
strStatus = "最後に発生したエラーの種類: " & objSync.ErrorType
Case msoSyncStatusLatest
strStatus = "ドキュメントのコピーは同期しています。"
Case msoSyncStatusLocalChanges
objSync.PutUpdate
strStatus = "ローカルでの変更内容がサーバーに保存されました。"
Case msoSyncStatusNewerAvailable
objSync.GetUpdate
strStatus = "ローカル コピーがサーバーの内容で更新されました。"
Case msoSyncStatusSuspended
objSync.Unsuspend
strStatus = "同期が再開されました。"
End Select
Else
strStatus = "共有ワークスペース ドキュメントではありません。"
End If
MsgBox strStatus, vbInformation + vbOKOnly, "同期情報"
Set objSync = Nothing
シート見出しの色を設定するサンプルコード
こちらでは、シート見出しの色を設定するマクロになります。
Sub sample()
Sheets("Sheet1").Tab.ColorIndex = 3
End Sub
実行結果
解説
こちらのマクロは、SyncオブジェクトのColorIndexプロパティを利用しています。
Syncオブジェクトの親オブジェクト一覧
親オブジェクト名 | 内容 |
---|---|
Chartオブジェクト | ブック内のグラフを表します。ChartObject オブジェクトに含まれている埋め込みグラフか、独立したグラフ シートのどちらかのグラフです。 |
Worksheetオブジェクト |
Syncオブジェクトのプロパティ一覧
- Syncオブジェクト(ColorIndexプロパティ)のプロパティ
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。