VBA④|複数で共有するための「VBA安全設定と署名」マクロを安全に配布・運用するために知っておきたいこと
VBAマクロを自分以外と共有しようとしたとき、こんな経験ありませんか?
「マクロはセキュリティの警告が出て開けない…」
「信頼できるマクロなのに、なぜか使えない」
「送ったファイルが同僚のPCで開かない」
実はこれ、「マクロのセキュリティ設定」や「電子署名」を理解していないことが原因です。
この記事では、VBAを複数で安全に共有・運用するための基本をやさしく解説します。
◆なぜマクロはブロックされるのか?
Microsoft Officeはマクロにウイルスが仕込まれるリスクを防ぐため、初期設定でマクロを無効にしています。
典型的な警告:
⚠「セキュリティの警告:このファイルにはマクロが含まれています」
マクロ有効化の前提
信頼できる送信元か?
安全なネットワーク内か?
ファイル保存場所は「信頼済み」か?
これらを確認したうえで、VBAを安全に使える状態に設定することが大切です。
1. 「信頼済みの場所」を設定する(最も簡単な方法)
やり方:
Excelで「ファイル」→「オプション」→「トラストセンター」→「トラストセンターの設定」
「信頼できる場所」→「新しい場所の追加」
チームで共有しているフォルダ(例:\server\macro)を登録
→ このフォルダ内のマクロは警告なしで実行できます。
📌 共有ドライブやOneDriveフォルダもOKですが、できるだけLAN内の閉じた場所が安全。
2. 電子署名でマクロに「作成者の証明」をつける
「信頼済みの場所」を使えないとき、次に有効なのが「デジタル署名(電子署名)」です。
電子署名とは?
「このマクロは●●さんが作ったもので、改ざんされていません」という“電子的な保証”です。
電子署名の設定手順
ステップ1:自己署名証明書を作成
「スタートメニュー」→「SelfCert.exe」と検索(Officeに付属)
上記でselfcertを実行できない場合は、Office製品保存フォルダの中からselfcert.exeを探して直接ファイルを開く方法があります。
32ビット版Officeの場合C:\Program Files (x86)\Microsoft Office\root\Office16\
64ビット版Officeの場合C:\Program Files\Microsoft Office\root\Office16\
注:Office16の部分はバージョンによっては15、14の場合もあります。名前を入力して「OK」 → 自分用の証明書が作られる
ステップ2:VBAに署名をつける
Excelの「Visual Basicエディタ」(Alt + F11)を開く
メニュー「ツール」→「デジタル署名」
作成した証明書を選んで「OK」
ステップ3:他のPCで一度だけ信頼させる
最初に署名付きマクロを開いたときに「この発行元を信頼しますか?」と表示される
「はい」を選べば、それ以降は警告なしでマクロが有効化されます
注意点:電子署名は変更に弱い
VBAコードに変更が加わると、署名が無効になります(再署名が必要)
複数人で共同開発する場合は、署名者と開発者を分けるか、信頼済みフォルダ方式がおすすめ
3. 配布など全体で使う場合の上級編:コード署名証明書の導入
商用・本格運用におすすめ
自己署名ではなく、認証局(CA)から発行される証明書を使う方法
これを使えば、Microsoft Defender SmartScreen などでも「信頼された発行元」として認識されるため、より安全・安心な共有が可能です。
◆まとめ
信頼済みの場所:
設定が簡単、社内共有に向く
ネットワーク外では使えない自己署名:
個人で導入しやすい
ファイル改変で無効化されるコード署名証明書:
高信頼・社外配布にも使える
費用がかかる、有効期限あり
「せっかく作った便利なマクロが、警告でブロックされて使ってもらえない」これはVBAを個人利用から他へ広げるときに起こりがちなことです。
ほんの少しの設定で、全体が安心してVBAを活用できる環境が作れます。
セキュリティと利便性のバランスを取りながら、ぜひVBA共有をレベルアップさせてください!
この記事が参考になったら、「スキ」やフォローしてもらえますと嬉しいです。
いいなと思ったら応援しよう!
応援ありがとうございます!