VBAブックの保護を設定/解除する方法を解説します。その前に、「ブックの保護」という名称ですが、実際に保護されるのはシートです。機能を勘違いしないようにしましょう。ちなみに本当にブックを保護したい(ブック名の変更や削除を禁止したい)場合は、Excelの外、Windowsの話になりますので、Excel/VBAの機能ではできません。適当にググって対応してください。ブックを保護する/保護を解除するブックが保護されているか調べるブックを保護する/保護を解除するブックの保護を設定/解除する場合は、WorkbookオブジェクトのProtect/Unprotectメソッドを使用します。コードは以下の通り非常に簡単です。「保護を解除→マクロでシートを編集→再度保護」というマクロを作成し、マクロでしかシート構成を変更できないファイルを作ることが多いかなと思います。そのような場合は、以下のようなコードを書けばOKです。ThisWorkbook.Unprotect~シート構成を変更する処理~ThisWorkbook.Protectブックが保護されているか調べるブックが保護されているか調べるには、WorkbookオブジェクトのProtectStructureプロパティを調べます。"ブックが保護されているため処理を中断します。保護されていないブックにUnprotectメソッドを実行は、どちらもエラーにはなりません。「ブックが保護されていれば保護を解除する」処理にIf文は不要で、Workbooks("○○.xlsx").Unprotectとするだけでよいです。このプロパティを使うことはあまりないかもしれません。ブックの保護に関する解説は以上です。第1引数「Password」のほかに、Structure、Windowsの2つの引数があります。これは「ブックの保護」を手作業で行ったときに出るこのダイアログの「シート構成」「ウィンドウ」のチェックに該当していますが、このチェックボックスは古い機能の名残です。(昔はウィンドウの大きさを変更できなくすることができました)現行のExcelでは画像の通り「ウィンドウ」はグレーアウトしており、その上で「シート構成」のチェックまで外すと「OK」が押せません。↑引数が無視されウィンドウロックはかからない(シートの保護はかかる)このような挙動になります。Unprotectと同じ動きをしますが、もちろんそんなことをする意味はありません。Workbook.Protectの引数は事実上Password1つですのでご安心?ください。豆知識になりますが、ブックが保護されているか調べるのに使うプロパティの名前が「ProtectStructureプロパティ」だったのはそういう理由です。06:13Tweet関連記事2022-12-13読取専用ブック.Saveは警告なく別ブックに保存される読取専用ブックにSaveメソッドを実行した場合、無警告でカレン...2022-12-10ブックを上書き保存して閉じる-Workbook.Closeブックを上書き保存して閉じる方法を解説します。ブックを上書...2021-10-10Worksheet.Selectと.Activateの違いWorksheetオブジェクトから呼び出す場合の、SelectメソッドとAc...2021-10-06すべての図形(オブジェクト)を削除するすべての図形オブジェクトを一括で削除するコードを紹介します...2021-05-09複数のシートをまとめてコピー/移動する複数のワークシートを一度にコピー/移動する方法を紹介します。「日本語の変数でプログラミングすれば、みんなが幸せになれる」という思想の元、主にExcelVBAのマクロやコードを解説しているブログです。この思想については↓の記事をご覧ください。変数を日本語にすればプログラミングが上達する記事の更新通知や質問の回答はTwitterでも行っております。お気軽にフォローください。12はてなブログをはじめよう!LimeCodeさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。