ブックが共有モードか確認する(MultiUserEditing プロパティ)
ブックが共有モードか確認する(MultiUserEditing プロパティ)
共有モードでブックを開くと、Workbook オブジェクト の MultiUserEditing プロパティ が True を返します。排他モードで開くと MultiUserEditing プロパティ が False を返します。
object.MultiUserEditing
引数・戻り値
- object ・・・ 対象となる Workbook オブジェクトを指定します。
- 戻り値 ・・・ ブール型(Boolean)の値を使用します。共有モードの場合、True を、排他モードの場合、False を返します。
- object ・・・ 対象となる Workbook オブジェクトを指定します。
- 戻り値 ・・・ ブール型(Boolean)の値を使用します。共有モードの場合、True を、排他モードの場合、False を返します。
共有モードと排他モードの切り替え
共有モードで開いたブックを排他モードに切り替えには、ExclusiveAccess メソッド を使用します。また、排他モードで開いたブックを共有ファイルとして保存するには、SaveAs メソッド を使用します。
ExclusiveAccess メソッド
object.ExclusiveAccess
引数・戻り値
- object ・・・ 対象となる Workbook オブジェクトを指定します。
ExclusiveAccess メソッドを実行すると、実行したユーザーによるブックの変更内容はすべて保存されますが、同じブックを開いている他のユーザーは、それらの変更内容を別のファイルとして保存する必要があります。
指定したブックが共有ファイルとして開かれていない場合、このメソッドは失敗します。
SaveAs メソッド
【書式】
object.SaveAs ( filename, accessmode )
引数・戻り値
- object ・・・ 対象となる Workbook オブジェクトを指定します。
- filename ・・・ 保存するブックの名前を指定します。拡張子を省略すると Excel によって自動的に付加されます。また、完全パスを含めることもできます。完全パスを含めない場合、カレントフォルダに保存されます。
- accessmode ・・・ ファイルへのアクセス方法を表す XlSaveAsAccessMode 列挙型 の定数またはその値を指定します。
定数
値
内容
xlNoChange
1
アクセスモードを変更しません(既定値)
xlShared
2
共有モード
xlExclusive
3
排他モード
SaveAs メソッド の詳細に関しては、ブックを別名で保存(SaveAs メソッド) を参照してください。
- object ・・・ 対象となる Workbook オブジェクトを指定します。
ExclusiveAccess メソッドを実行すると、実行したユーザーによるブックの変更内容はすべて保存されますが、同じブックを開いている他のユーザーは、それらの変更内容を別のファイルとして保存する必要があります。
指定したブックが共有ファイルとして開かれていない場合、このメソッドは失敗します。
object.SaveAs ( filename, accessmode )
- object ・・・ 対象となる Workbook オブジェクトを指定します。
- filename ・・・ 保存するブックの名前を指定します。拡張子を省略すると Excel によって自動的に付加されます。また、完全パスを含めることもできます。完全パスを含めない場合、カレントフォルダに保存されます。
- accessmode ・・・ ファイルへのアクセス方法を表す XlSaveAsAccessMode 列挙型 の定数またはその値を指定します。
定数 値 内容 xlNoChange 1 アクセスモードを変更しません(既定値) xlShared 2 共有モード xlExclusive 3 排他モード
SaveAs メソッド の詳細に関しては、ブックを別名で保存(SaveAs メソッド) を参照してください。
MultiUserEditing プロパティ 使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
Sub Sample_MultiUserEditing() 'ブックの共有モードと排他モードを切り替える Dim FileName As String Dim BookState As String Dim w As Workbook FileName = "C:\Documents\test01.xlsx" Set w = Workbooks.Open(FileName) '確認メッセージを非表示にする Application.DisplayAlerts = False If w.MultiUserEditing = False Then '排他モードで開いた場合、共有モードで保存 w.SaveAs FileName:=w.FullName, AccessMode:=xlShared BookState = "共有モード" Else '共有モードで開いた場合、排他モードで保存 w.ExclusiveAccess w.Save BookState = "排他モード" End If '確認メッセージを表示する Application.DisplayAlerts = True '現在のブックの状態 MsgBox w.Name & "を " & BookState & " に変更しました。" 'ブックを閉じる w.Close Set w = Nothing End Sub |
実行結果
関連記事
-
-
印刷時のページの番号付けの方向を設定(PageSetup.Order プロパティ)
PageSetup.Order プロパティ PageSetup.Order プロ …
-
-
ウィンドウの分割(Split プロパティ,SplitColumn プロパティ,SplitRow プロパティ)
ウィンドウの分割と解除 ウィンドウ(ワークシート画面)を分割するには、Split …
-
-
計算精度を設定する(PrecisionAsDisplayed プロパティ)
PrecisionAsDisplayed プロパティ PrecisionAsDi …
-
-
シート見出しの色を設定(Tab プロパティ)
シート見出しの色を設定 Tab オブジェクトの Color プロパティ、Colo …
-
-
印刷時の改ページ設定(Add,ResetAllPageBreaks)
改ページの追加と解除 印刷時に改ページを指定するには、HPageBreaks コ …
-
-
並べて比較(CompareSideBySideWith,SyncScrollingSideBySide,BreakSideBySide)
並べて比較(CompareSideBySideWith メソッド) Compar …
-
-
ワークシートをアクティブにする・選択する(Activate, Select)
Activate メソッド・Select メソッド Activate メソッドは …
-
-
ステータスバーにメッセージを表示(StatusBar プロパティ)
StatusBar プロパティ StatusBar プロパティで、ステータスバー …
-
-
表示されているセル範囲を取得(VisibleRange プロパティ)
VisibleRange プロパティ 現在表示されているセル範囲(Range オ …
-
-
イベントの発生・無効をコントロール(EnableEvents プロパティ)
EnableEvents プロパティ EnableEvents プロパティに T …