見出し画像

VBA④|複数で共有するための「VBA安全設定と署名」マクロを安全に配布・運用するために知っておきたいこと

VBAマクロを自分以外と共有しようとしたとき、こんな経験ありませんか?

  • 「マクロはセキュリティの警告が出て開けない…」

  • 「信頼できるマクロなのに、なぜか使えない」

  • 「送ったファイルが同僚のPCで開かない」

実はこれ、「マクロのセキュリティ設定」や「電子署名」を理解していないことが原因です。
この記事では、VBAを複数で安全に共有・運用するための基本をやさしく解説します。


◆なぜマクロはブロックされるのか?

Microsoft Officeはマクロにウイルスが仕込まれるリスクを防ぐため、初期設定でマクロを無効にしています。

典型的な警告:

⚠「セキュリティの警告:このファイルにはマクロが含まれています」

マクロ有効化の前提

  • 信頼できる送信元か?

  • 安全なネットワーク内か?

  • ファイル保存場所は「信頼済み」か?

これらを確認したうえで、VBAを安全に使える状態に設定することが大切です。


1. 「信頼済みの場所」を設定する(最も簡単な方法)

やり方:

  1. Excelで「ファイル」→「オプション」→「トラストセンター」→「トラストセンターの設定」

  2. 「信頼できる場所」→「新しい場所の追加」

  3. チームで共有しているフォルダ(例:\server\macro)を登録

→ このフォルダ内のマクロは警告なしで実行できます。

📌 共有ドライブやOneDriveフォルダもOKですが、できるだけLAN内の閉じた場所が安全。


2. 電子署名でマクロに「作成者の証明」をつける

「信頼済みの場所」を使えないとき、次に有効なのが「デジタル署名(電子署名)」です。

電子署名とは?

「このマクロは●●さんが作ったもので、改ざんされていません」という“電子的な保証”です。

電子署名の設定手順

ステップ1:自己署名証明書を作成

  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の場合もあります。

  2. 名前を入力して「OK」 → 自分用の証明書が作られる


ステップ2:VBAに署名をつける

  1. Excelの「Visual Basicエディタ」(Alt + F11)を開く

  2. メニュー「ツール」→「デジタル署名」

  3. 作成した証明書を選んで「OK」


ステップ3:他のPCで一度だけ信頼させる

  • 最初に署名付きマクロを開いたときに「この発行元を信頼しますか?」と表示される

  • 「はい」を選べば、それ以降は警告なしでマクロが有効化されます


注意点:電子署名は変更に弱い

  • VBAコードに変更が加わると、署名が無効になります(再署名が必要)

  • 複数人で共同開発する場合は、署名者と開発者を分けるか、信頼済みフォルダ方式がおすすめ


3. 配布など全体で使う場合の上級編:コード署名証明書の導入

商用・本格運用におすすめ

  • 自己署名ではなく、認証局(CA)から発行される証明書を使う方法

これを使えば、Microsoft Defender SmartScreen などでも「信頼された発行元」として認識されるため、より安全・安心な共有が可能です。


◆まとめ

  • 信頼済みの場所:
    設定が簡単、社内共有に向く
    ネットワーク外では使えない

  • 自己署名:
    個人で導入しやすい
    ファイル改変で無効化される

  • コード署名証明書:
    高信頼・社外配布にも使える
    費用がかかる、有効期限あり

「せっかく作った便利なマクロが、警告でブロックされて使ってもらえない」これはVBAを個人利用から他へ広げるときに起こりがちなことです。
ほんの少しの設定で、全体が安心してVBAを活用できる環境が作れます。
セキュリティと利便性のバランスを取りながら、ぜひVBA共有をレベルアップさせてください!


この記事が参考になったら、「スキ」やフォローしてもらえますと嬉しいです。

いいなと思ったら応援しよう!

Rin Sumi Zeal 応援ありがとうございます!