このシリーズについて
本シリーズは VBA プロジェクトのパスワードに関する3記事構成です。
PART 01(本記事) では設定方法、PART 02 では .xls 形式の解除方法、PART 03 では .xlsm 形式の解除方法を解説します。
🚫 悪用厳禁
本シリーズで解説するパスワード解除手法は、自分が作成・管理するファイル、または正当な権限を持つファイルに対してのみ使用してください。他者のファイルに無断でアクセスすることは、不正競争防止法・不正アクセス禁止法・著作権法等に抵触する可能性があります。必ず事前にバックアップを取り、自己責任で行ってください。
パスワードが必要な場面
VBA プロジェクトにパスワードを設定する主な理由は以下の通りです。
| ケース | 内容 |
|---|---|
| 配布ファイルの保護 | 社内ツールや外部向けテンプレートのロジックを保護し、無断改変を防ぐ |
| 業務マクロの保護 | 業務フローや処理ロジックを社外に漏らさないようにする |
| 知的財産の保護 | 有償配布するアドインのソースコードを保護する |
⚠️ 重要:パスワードを忘れないこと
VBA プロジェクトのパスワードは公式な方法では リセットできません。忘れると自分でも編集できなくなります。必ず別途安全な場所にメモしておいてください。
設定手順(ステップ解説)
Excel を開いた状態で、以下の手順でパスワードを設定します。
-
VBE(Visual Basic Editor)を開く
Alt + F11を押すか、「開発」タブ →「Visual Basic」をクリックします。「開発」タブが表示されていない場合はリボンの右クリックから「リボンのユーザー設定」で表示できます。 -
「ツール」メニュー →「VBAプロジェクトのプロパティ」を開く
VBE のメニューバーから「ツール(T)」→「VBAプロジェクトのプロパティ(E)...」をクリックします。 -
「保護」タブを開く
ダイアログが開いたら上部の「保護」タブをクリックします。 -
「閲覧のためロックする」にチェックを入れる
「プロジェクトのロック」セクションにある「閲覧のためにプロジェクトをロックする」チェックボックスをオンにします。 -
パスワードを入力する
「パスワード」欄と「パスワードの確認入力」欄に同じパスワードを入力します。 -
「OK」をクリックして閉じる
「OK」を押してダイアログを閉じます。この時点ではまだ保存されていません。 -
ファイルを保存する
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プロジェクトのプロパティ → 保護タブ の流れで完結します。 パスワードは忘れると取得が困難になるため、必ず安全な場所に保管してください。