エクセルでマクロのコードを他の人に見られないようにロックをかける方法について説明します。
なぜマクロ(VBAコード)にパスワードをかけるのか
マクロツールは主に会社などで業務を効率化する場合に作成することが多いと思います。
自分でマクロを開発して自分だけが使用する場合は特にロックをかける必要はないですが、開発者がいて、別の使用者に提供する場合、使用者がVBE画面を開いてソースコードを勝手に変更してしまうと意図しない動作をするようになってしまったり、メンテナンス性が保てなくなることが考えられます。
そのため、開発者が開発して使用者に提供する際にはVBAプロジェクトにロックをかけることが望ましいです。
当然ながらパスワードを忘れてしまうと編集できなくなってしまうので、別の場所で必ず管理しておきましょう。
VBE画面の「ツール」の「VBAProjectのプロパティ」をクリックする
VBE(Visual Basic Editor)画面の上部にあるメニューの「ツール」メニューを開いて「VBAProjectのプロパティ」をクリックします。
「プロジェクトを表示用にロックする」にチェックを入れて、パスワードを入力する
「VBAProject-プロジェクトのプロパティ」のウィンドウが立ち上がったら、プロジェクトのロックにチェックを入れて、パスワードを入力して「OK」ボタンをクリックします。
この時点ではまだパスワードを求められません。
一度エクセルファイルを保存して閉じてから再度開いて確認してみてください。
ファイルを開きなおして、パスワードがかかったか確認する
再度ブックを立ち上げたらVBE画面からプロジェクトをクリックして展開しようとすると、パスワードを入力する画面が表示されました。
先ほど設定したパスワードを入力して開けるか確認してみましょう。
組織でマクロツールを管理する場合のパスワード管理
会社などの組織でマクロのメンテナンスを行う場合は組織で定型のパスワードを決めておいて、メンバー間で共有しておくことが望ましいです。
よくあるのは開発した担当者が任意で自分しかわからないパスワードを設定していて、その人が異動や退職をしていなくなったあと、残された人がツールのメンテナンスをしようとしたときにパスワードが分からなくて困ってしまう事態です。
そうならないようにメンテナンスを行うメンバーにはパスワードを別の場所で開示しておきましょう。