ブックが共有モードか確認する(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 |
実行結果
関連記事
-
-
シートが保護されているか確認(ProtectContents プロパティ)
ProtectContents プロパティ ワークシートが保護されているかどうか …
-
-
ワークシートをアクティブにする・選択する(Activate, Select)
Activate メソッド・Select メソッド Activate メソッドは …
-
-
スクロール範囲を限定(ScrollArea プロパティ)
ScrollArea プロパティ ScrollArea プロパティ にセル範囲を …
-
-
ステータスバーにメッセージを表示(StatusBar プロパティ)
StatusBar プロパティ StatusBar プロパティで、ステータスバー …
-
-
WorksheetView オブジェクト
WorkSheetView オブジェクト 行列番号や枠線の表示・非表示の設定など …
-
-
印刷設定(ヘッダー/フッター)書式コード・VBAコード
印刷設定(ヘッダー/フッター)書式コード・VBAコード ヘッダーおよびフッター( …
-
-
新規ブック作成(Add メソッド)
新規にワークブックを作成する Workbooks コレクションの Add メソッ …
-
-
イベントの発生・無効をコントロール(EnableEvents プロパティ)
EnableEvents プロパティ EnableEvents プロパティに T …
-
-
印刷時のページの番号付けの方向を設定(PageSetup.Order プロパティ)
PageSetup.Order プロパティ PageSetup.Order プロ …
-
-
ブックが互換モードで開いているか確認する(Excel8CompatibilityMode プロパティ)
ブックが互換モードで開いているか確認する Excel8Compatibility …
