ブックが共有モードか確認する(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 |
実行結果
関連記事
-
ワークシートを参照する(Worksheets プロパティ)
Worksheets プロパティ Worksheets プロパティは、Works …
-
計算精度を設定する(PrecisionAsDisplayed プロパティ)
PrecisionAsDisplayed プロパティ PrecisionAsDi …
-
印刷設定(フッターに文字列を指定)LeftFooter,CenterFooter,RightFooter
PageSetup.LeftFooter プロパティ PageSetup.Lef …
-
印刷時のページの番号付けの方向を設定(PageSetup.Order プロパティ)
PageSetup.Order プロパティ PageSetup.Order プロ …
-
指定したセル範囲が含まれるワークシートを参照する(Worksheet プロパティ)
Worksheet プロパティ Worksheet プロパティは、指定したセル範 …
-
シートを保護・保護したシートを解除する(Protect メソッド・Unprotect メソッド)
Protect メソッド・Unprotect メソッド Protect メソッド …
-
0 を表示するかどうかを設定(DisplayZeros プロパティ)
DisplayZeros プロパティ DisplayZeros プロパティに、T …
-
数式バーの設定(DisplayFormulaBar, FormulaBarHeight)
数式バーの設定 数式バーの表示・非表示の設定を行うには、DisplayFormu …
-
ブックを保存する(Save メソッド)
ブックを保存する(Save メソッド) 既存のブックを上書き保存するには、Sav …
-
ワークブックを保護・保護を解除(Protect メソッド・Unprotect メソッド)
Protect メソッド・Unprotect メソッド Protect メソッド …