VBAのソースコードをロックする

VBAにてソースコードを編集できないようにする、みたいな話があり、そんなことできたっけ?と思い調べてみました。

VBAのプロジェクトにパスワードを設定するを参考にしました。ありがとうございます。

備忘録としてのメモです。環境はKingsoftのWPSOfficeVer10です。VBAはバージョン6なんですね。

スポンサーリンク

VBAでソースコードをロックする

  1. VBAを開く(F11)
  2. ツール→Projectのプロパティをクリック
  3. 保護タブ→プロジェクトを表示用にロックするにチェックを入れる
  4. パスワード、確認入力を入れてOK
  5. 一旦保存して閉じればOK
  6. マクロ有効ファイル形式のxlsmで保存をお忘れなく

動作確認としては、保存したxlsmファイルを起動して、F11でVBAエディタを立ち上げソースコードを見ようとすると、

と出ればオッケーです。

ここでパスワードを入れれば中身が見えますし、編集できます。

ちなみに、保護タブ→プロジェクト表示用にロックするにチェックを入れないと、ソースコード自体はロックがかかりません。その場合の保護対象は、「ツール→Projectのプロパティ」をクリックした時にパスワードを聞かれるので、どうもプロパティ設定のみロックになるようです。あまり使う機会がないですが。

どんな時に使うか?

ロック自体使ったことがないのですが、ソースコード自体を改変しないようにするとか、間違えて編集すらできないようにするのはいいかもしれません。または何かしら納品時に「ソースコード改変」を条件としない場合はありかもしれません。

このあたりはイラストレーターなどでもaiファイルを納品するか、アウトプットのjpgのみにするかなどで、ソースコードは命みたいに考えると保護も当然になりそうです。このあたりは、仕事のやり方の話ですが、無駄なロックをしてパスワード忘れて大慌てみたいなものもありますしね(笑)

どちらかというと、Excel自体を保護するために、ブックの保護としてExcelファイル自体にロックするほうがまだ使う機会はありますね。

ちなみに、上のVBAソースコードをロックしても、マクロ自体の関数名は見えますし、マクロの実行は当然出来るので、本当にソースコードのロックということになります。

おわりに

VBA自体のソースコードをロックする機会はまああまりなさそうですが、知っておいて損はなさそうです。プロジェクトメニューあたりから出来ることを知っておけば逆にパスワードを入れる時も楽そうですね。

ちなみに、パスワードを忘れてしまって困ったというケースでロックを解除したい場合、Excel VBAマクロ パスワード解除方法が参考になるかもしれません。こちらでは全く試していませんが、悪用厳禁ですし、32bit環境のみのようなので、当然サイトにも書かれていますが自己責任にてどうぞとなります。

前担当者とか引き継ぎが適当になっていて、パスワードかかりまくってたら泣きそうですけどね><

世の中に無駄な知識はないの精神でいきますか。

ビジネスって面白い、アイデアの価値ってもっとある。そんなことを自分なりに伝えられないかという思いから、シゴトクリエイターをやっています。一緒に楽しいビジネスを生みだしていきましょう。

クラウドソーシングでアイデア出しで結果を出すには?

クラウドソーシングで、アイデア出しをメインにシゴトづくりを3年してきた気づきをまとめました。

企画やアイデアをシゴトにしたい人の一つの参考にしてもらえれば嬉しいです。

アイデア仕事の当選率などのデータもありますよ。
スポンサーリンク