ブックが共有モードか確認する(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 |
実行結果
関連記事
-
ワークシートの追加・削除(Add メソッド・Delete メソッド)
新しいワークシートを作成 Add メソッドで、新しいワークシートを指定した場所に …
-
ウィンドウ枠の固定(FreezePanes プロパティ、SplitColumn プロパティ,SplitRow プロパティ)
ウィンドウ枠の固定と解除 ウィンドウ枠を固定するには FreezePanes プ …
-
選択されているシートを参照する(SelectedSheets プロパティ)
SelectedSheets プロパティ 選択されているすべてのシートをあらわす …
-
ワークシートを参照する(Worksheets プロパティ)
Worksheets プロパティ Worksheets プロパティは、Works …
-
白黒印刷(PageSetup.BlackAndWhite プロパティ)
PageSetup.BlackAndWhite プロパティ PageSetup. …
-
印刷設定(偶数ページのヘッダー・フッターを設定)OddAndEvenPagesHeaderFooter, EvenPage
偶数ページに別のヘッダーおよびフッターを設定 偶数ページのヘッダーおよびフッター …
-
背景に画像を表示(SetBackgroundPicture メソッド)
SetBackgroundPicture メソッド SetBackgroundP …
-
ブックのコピーを保存(SaveCopyAs メソッド)
SaveCopyAs メソッド SaveCopyAs メソッド は、現在開いてい …
-
印刷設定(ヘッダーに画像を指定)LeftHeaderPicture, CenterHeaderPicture, RightHeaderPicture
ヘッダーに画像を表示するには LeftHeaderPicture プロパティ、C …
-
セルのコメントを印刷(PageSetup.PrintComments プロパティ)
PageSetup.PrintComments プロパティ PageSetup. …