エクセルVBAの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プロパティを利用しています。
親オブジェクト名 | 内容 |
---|---|
Chartオブジェクト | ブック内のグラフを表します。ChartObject オブジェクトに含まれている埋め込みグラフか、独立したグラフ シートのどちらかのグラフです。 |
Worksheetオブジェクト |
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
ExcelのVBAについてのQ&A掲示板↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください。
VBAのIE操作入門↑ExcelのVBAをマスターできたら、エクセルVBAのIE操作にも挑戦してみてください。
こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。