「excel vba 読み取り専用にする」
「エクセル マクロ 読み取り専用設定」
といった検索キーワードでアクセスがありました。
Excel VBAで、ブックを読み取り専用にしたいということでしょう。
Workbook.ChangeFileAccessメソッドで読み取り専用にするサンプルマクロ
以下のSubプロシージャを実行すると、アクティブなブックが読み取り専用になります。ActiveWorkbook.ChangeFileAccess xlReadOnly
End Sub
WorkbookオブジェクトのChangeFileAccessメソッドの引数に、
XlFileAccess列挙に定義されている定数・xlReadOnlyを指定すれば、
読み取り専用になります。
逆に、定数・xlReadWriteを引数に指定してWorkbook.ChangeFileAccessメソッドを呼べば、読み書き可能になります。
Workbooks.Openメソッドを使って読み取り専用でブックを開くサンプルマクロ
「エクセル 読み取り専用で開くマクロ」
という検索キーワードでのアクセスもあります。
Workbooks.Open _
Filename:="C:\TEMP\SAMP.xlsx", _
ReadOnly:=True
End Sub
WorkbooksコレクションオブジェクトのOpenメソッドの引数・ReadOnlyに、
Trueを設定すれば、引数・Filenameで指定されたブックが、読み取り専用で開かれます。
Workbook.ReadOnlyプロパティでは読み取り専用に設定できない
WorkbookオブジェクトにはReadOnlyという名前のプロパティがあり、
ActiveWorkbook.ReadOnly = True
とすることで、読み取り専用にできると考える方もおられるかもしれませんが、これはダメです。
Workbook.ReadOnlyプロパティは、
読み取り専用のプロパティであるため、読み取り専用かどうかの取得はできますが設定はできません。
- Newer:VBAでEmpty値かを判定する-IsEmpty関数
- Older:Word VBAでExcelのセルデータを取得する
Home » エクセルマクロ・Excel VBAの使い方 » Workbooks・Workbook » Excel VBAでブックを読み取り専用に