教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA ブック操作】ブックを保護(Protect)又は保護解除(UnProtect)するにはどうすればいいの?教えて!

f:id:m_kbou:20210412082314p:plain

Excelブックをパスワードを付けて保護又は保護解除するには、ProtectメソッドやUnProtectメソッドを使用します。ブックを保護する事で、シートの表示・非表示・移動・削除や名前の変更等、様々な操作を制限する事ができます。この使い方について紹介します。

 

 

構文

記述方法は以下の通りとなります。

Workbooks(”[ブック名]”).Protect ”[パスワード]”

Workbooks(”[ブック名]”).UnProtect ”[パスワード]”

[説明]:

ブックをパスワードを付けて保護するには「Workbooks(”[ブック名]”).Protect ”[パスワード]”」と記述し、保護解除するには「Workbooks(”[ブック名]”).UnProtect ”[パスワード]”」と記述します。[ブック名]には保護又は保護解除するブック名を記述し、「”」(ダブルクォーテーション)で囲みます。Protect保護するとの意味となり、UnProtect保護解除するとの意味になります。Protect又はUnProtectの後に[パスワード]を記述する事で、Protectの場合は記述したパスワードで保護するとの意味になり、UnProtectの場合は記述したパスワードで保護解除するとの意味になります。パスワードはブック名同様に「”」(ダブルクォーテーション)で囲みます。内容を纏めると、「[ブック名]で記述したブックを指定した[パスワード]で保護又は保護解除して下さい。」との意味になります。

[記述例]:

Workbooks("演習.xlsm").Protect "12345"
Workbooks("演習.xlsm").UnProtect "12345"

 

使い方

使い方について具体的に説明していきます。

指定したブックをパスワードを付けて保護する方法

指定したブックをパスワードを付けて保護する方法について説明します。

[プログラミング例]:

Sub サンプル()
  Workbooks("演習.xlsm").Protect "12345"
  MsgBox "演習.xlsmを保護しました。"
End Sub

内容は、「演習.xlsmをパスワード:12345(文字列)で保護設定し、最後にMsgBoxで”演習.xlsmを保護しました。”のメッセージを表示して下さい。」との意味になります。

f:id:m_kbou:20210329071229p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①今回は例として演習.xlsmファイルを作成し、以下の様に<実行>ボタンを設置します。<実行>ボタンには上記のプログラミング例のプログラムが登録されています。また、Sheet1シートを右クリックすると、各項目が使用できる状態である事が確認できます。<実行>ボタンをクリックします。(※ボタンにプログラムを割り当てるにはこちらを参考にして下さい。) 

f:id:m_kbou:20210329071244p:plain

②MsgBoxで「演習.xlsmを保護しました。」が表示されます。

f:id:m_kbou:20210329071300p:plain

③再度Sheet1シートを右クリックすると、各項目が使用できない様にグレーアウトされます。(※ブックが保護された事により、使用できる項目も限定的になりました。)

f:id:m_kbou:20210329071311p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

指定したブックをパスワードを付けて保護する方法についての説明は以上です。

 

保護されたブックをパスワードを指定して保護解除する方法

保護されたブックをパスワードを指定して保護解除する方法について説明します。

[プログラミング例]:

Sub サンプル()
  Workbooks("演習.xlsm").Unprotect "12345"
  MsgBox "演習.xlsmを保護解除しました。"
End Sub

内容は、「保護設定されている演習.xlsmをパスワード:12345(文字列)で保護解除し、最後にMsgBoxで”演習.xlsmを保護解除しました。”のメッセージを表示して下さい。」との意味になります。

f:id:m_kbou:20210329080627p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①今回は例として演習.xlsmファイルを作成し、以下の様に<実行>ボタンを設置します。<実行>ボタンには上記のプログラミング例のプログラムが登録されています。また、Sheet1シートを右クリックすると、各項目が使用できない様にグレーアウトされた状態である事が確認できます。<実行>ボタンをクリックします。(※ボタンにプログラムを割り当てるにはこちらを参考にして下さい。) 

f:id:m_kbou:20210329080641p:plain

②MsgBoxで「演習.xlsmを保護解除しました。」が表示されます。

f:id:m_kbou:20210329080654p:plain

③再度Sheet1シートを右クリックすると、各項目が使用できる様にグレーアウトが外されました。(※ブックが保護解除された事により、使用できなった項目も使用できる様になりました。)

f:id:m_kbou:20210329080707p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

保護されたブックをパスワードを指定して保護解除する方法についての説明は以上です。

 

おわりに

今回はExcelブックをパスワードを指定して保護又は保護解除する方法について説明しました。パスワードは省略する事も可能で、省略した場合は解除する場合もパスワードは不要となります。また、パスワードは大文字/小文字も判別しますので、注意して設定する様にして下さい。

 

紹介動画

youtu.be