このシリーズについて

本シリーズは VBA プロジェクトのパスワードに関する3記事構成です。 PART 01(本記事) では設定方法、PART 02 では .xls 形式の解除方法、PART 03 では .xlsm 形式の解除方法を解説します。

🚫 悪用厳禁

本シリーズで解説するパスワード解除手法は、自分が作成・管理するファイル、または正当な権限を持つファイルに対してのみ使用してください。他者のファイルに無断でアクセスすることは、不正競争防止法・不正アクセス禁止法・著作権法等に抵触する可能性があります。必ず事前にバックアップを取り、自己責任で行ってください。

パスワードが必要な場面

VBA プロジェクトにパスワードを設定する主な理由は以下の通りです。

ケース内容
配布ファイルの保護社内ツールや外部向けテンプレートのロジックを保護し、無断改変を防ぐ
業務マクロの保護業務フローや処理ロジックを社外に漏らさないようにする
知的財産の保護有償配布するアドインのソースコードを保護する

⚠️ 重要:パスワードを忘れないこと

VBA プロジェクトのパスワードは公式な方法では リセットできません。忘れると自分でも編集できなくなります。必ず別途安全な場所にメモしておいてください。

設定手順(ステップ解説)

Excel を開いた状態で、以下の手順でパスワードを設定します。

  1. VBE(Visual Basic Editor)を開く
    Alt + F11 を押すか、「開発」タブ →「Visual Basic」をクリックします。「開発」タブが表示されていない場合はリボンの右クリックから「リボンのユーザー設定」で表示できます。
  2. 「ツール」メニュー →「VBAプロジェクトのプロパティ」を開く
    VBE のメニューバーから「ツール(T)」→「VBAプロジェクトのプロパティ(E)...」をクリックします。
  3. 「保護」タブを開く
    ダイアログが開いたら上部の「保護」タブをクリックします。
  4. 「閲覧のためロックする」にチェックを入れる
    「プロジェクトのロック」セクションにある「閲覧のためにプロジェクトをロックする」チェックボックスをオンにします。
  5. パスワードを入力する
    「パスワード」欄と「パスワードの確認入力」欄に同じパスワードを入力します。
  6. 「OK」をクリックして閉じる
    「OK」を押してダイアログを閉じます。この時点ではまだ保存されていません。
  7. ファイルを保存する
    Ctrl + S でファイルを保存します。.xlsm または .xls 形式で保存してください(.xlsx は VBA を保存できません)。

設定が反映されたか確認する

ファイルを閉じて再度開き、Alt + F11 で VBE を起動します。プロジェクトツリーを展開しようとしたときにパスワード入力ダイアログが表示されれば設定完了です。

セキュリティ強度について

VBA プロジェクトのパスワードは、ビジネスツールとしての簡易保護に適しています。ただし、以下の点を理解した上で使用してください。

項目内容
保護の種類コード閲覧・編集の防止(実行は妨げない)
暗号化の強度低〜中程度。専門知識があれば解除可能(PART 02・03 参照)
機密情報の格納パスワードや機密情報をコード内に記載するのは避けるべき
代替策高強度の保護が必要な場合は .NET や COM アドイン化を検討する

💡 パスワードは完全な保護ではない

VBA パスワードはバイナリレベルで保存されており、バイナリエディタを使えば解除できます(PART 02・03 で解説)。重要なビジネスロジックや認証情報をコード内に含める場合は、VBA パスワードだけに頼らず、追加の保護策を検討してください。

注意事項

  • パスワードは必ず別途記録する:忘れると公式な方法では復旧できません。
  • ファイル形式を確認する.xlsx 形式は VBA を保存できないため、.xlsm または .xls で保存してください。
  • バックアップを取る:設定前のファイルを必ずバックアップしてください。
  • パスワードを忘れた場合:PART 02(.xls)または PART 03(.xlsm)の解除手順を参照してください(自分のファイルに限る)。

まとめ

VBA プロジェクトのパスワード設定は VBE → ツール → VBAプロジェクトのプロパティ → 保護タブ の流れで完結します。 パスワードは忘れると取得が困難になるため、必ず安全な場所に保管してください。

次の記事

パスワードを忘れてしまった場合は、ファイル形式に応じた解除手順を参照してください。

PART 02 — .xls 形式のVBAパスワード解除

PART 03 — .xlsm 形式のVBAパスワード解除