VBAパスワードの設定方法と解除


Excel VBAあらかると

 VBAソースを開こうとしても保護されていて見ることができない。保護を解除できないか?
といった質問をいただくことがあります。WebMambowで公開しているアプリケーションであれば、熱望に根負けして解放するかも知れませんが、ほかで制作されたブックに対する質問であり、何とかパスワードを探ることができないか?といった大胆さ。非常識さに屈服です。
 パスワード保護は、制作者の当然の権利です。それを解除する方法と聞かれても「知らない」と答えるしかありません。
パスワード保護する理由には、制作者のソースコードノウハウと業務ノウハウがギッチシ詰められています。
(当サイトはスカスカなので例外かな?  ^^; )
また、組織的運用においては、エンドユーザーが勝手に改ざんできないようにする牽制効果をもたらします。
パスワード保護は、ただ隠す意味合いだけではなく、システムの安定運行には欠かすことのできない要件です。要所要所で活用するためにも覚えておきましょう。

一番注意すべき点は・・・  パスワード保護してパスワードを忘れてしまうこと。 キッチシ管理しましょう!

 〜ここでの説明項目〜
   ・マクロの自動記録方法
   ・VBAプロジェクトへのパスワード保護


■ 簡単なVBAマクロを自動記録で作成する。
    ※説明に使っている図の Excelバージョンは 「97」 です。 

  マクロを全然扱ったことの無い方は、手始めに 
      VBAあらかると  VBAへの入り口 を参考ください。

@ Excelの起動  (新規ブック)

A マクロのツールバーを表示
メニューバー「表示」→「ツールバー」→VisualBasic

B マクロ自動記録
  マクロ記録ボタン ● をクリックする。 クリック後は ● から ■(記録の終了) の形状に変わります。

C マクロ名を指定
   マクロ名を任意に記録することができますが変更しないで[OK]ボタンをクリックします。 (デフォルト値)

[OK]ボタンクリック後、記録開始です。

D シート上のアクティブセルを移動させます。  (任意)
   1,2カ所マウスで移動させます。

E 記録の終了
  VisualBasicツールバー ■ をクリックします。


■ VisualBasicEditorを開きパスワードを設定する。

  @ VisualBasicEditorを起動する。

メニューバー「ツール」→「マクロ」→VisualBasicEditor


をクリックしても同じです。

A 記録されているマクロを確認する。
   下図は、プロジェクトウィンドウと標準モジュールに記録されているマクロです。






   マクロソースコード
      ※このマクロを実行すると実行前にどのセルがフォーカスされていようとセルD3がアクティブとなります。

B パスワードを設定する。
  メニューバー「ツール」→VBAProjectのプロパティを選択します。
 プロジェクトプロパティの保護タブを選択しパスワードを指定します。その時に必ずプロジェクトのロックのチェックを入 れます。指定したら[OK]ボタンをクリックします。

 ※パスワードを設定したら一度ブックを閉じないと有効になりません。

C 保存してブックを閉じる。


■ VBAパスワードを解除する。 

  @ Excelを起動しテストで作成したブックを開きます。

A VisualBasicEditorを起動します。
保護されている場合はプロジェクト名のみ表示されます。
VBAプロジェクトをダブルクリックします。

B パスワードを入力します。入力後VBAソースは解放され内容を確認することができます。



  以上がパスワードの設定と解除です。
Excelあらかると 「匠への技」第2弾 パソコンレジスターには、VBAパスワードを設定し保護しています。
パスワードキーは 「 abc098765def 」 となっています。(パスワードのみコピーペすれば簡単に解放します。)
試しに解除して内容を覗いてみて下さい。
マクロの説明は、VBAあらかると 「匠への技」VOL-2 パソコンレジスターマクロ解剖!を参考下さい。
尚、パソコンレジスターのVBAソースコードは、Excelバージョン2002で保護しています。
Excel97では保護解除できませんのでメール等でご相談下さい。