安全が確認された Office マクロには電子署名を施し、それ以外の Office マクロの実行を停止することが推奨されています。電子メールに添付されたり、Web リンクからダウンロードされる “未署名(未確認)の Office マクロ” を実行停止することで、サイバー攻撃リスクを 低減しようというものです。
本稿では、安全が確認されている Office マクロの電子署名の方法を解説します。
電子署名の方法
Office マクロへの電子署名のためには、コードサイン証明書を入手する必要があります。コードサイン証明書は、さまざまな生成・入手方法があり、それに応じてコスト/難易度/利便性が異なります。
| 観点 | ① Office自己署名(SelfCert) | ② 商用CA(Public CA Code Signing) | ③ ADCS(社内CA Code Signing) |
| 初期コスト | ほぼ0円(Officeがあれば) | 高い(年額・本人確認等) | 中(サーバー/冗長/運用人件費) |
| 継続コスト | 0円 | 高い(更新費・運用) | 中(CA保守、監査、更新運用) |
| インターネット接続 | 不要 | 必須 | 不要 |
| 発行の難易度 | 低(数分) | 中(申請~発行、審査、USB トークン管理が必要) | 中〜高(テンプレート/GPO/失効/監査設計) |
| 配布先での信頼付与 | 各PCで手作業が基本 | 原則、OS側で既に信頼 | GPO/Intuneで一括配布が容易 |
| 監査・統制 | 弱(属人化しやすい) | 強(第三者発行・監査に説明しやすい) | 強(証跡・発行制御・役割分離を作れる) |
| 主な用途 | PoC/少人数/短期 | ソフト配布、対外提供、取引先要件 | 社内業務マクロ、閉域網、端末統制 |
ここでは、Office 自己署名を使った署名の方法を取り上げます。
自己署名証明書を作成する
Office (Office 2016/2019/2021/M365)がインストールされている PC で、以下を実行します。
- 自己署名証明書作成ツールを起動する
[ スタート ] ボタンを右クリックし、[ ファイル名を指定して実行 ] に、以下を入力し、[ Enter ] を押下する。
C:\Program Files\Microsoft Office\root\Office16\SELFCERT.EXE
- 「デジタル証明書の作成」が起動する。

- [ 証明書の名前 ] に任意の証明書名を入力し、[ OK ] をクリックする。

- [ SelfCert 成功 ] が表示されたら [ OK ] をクリックし、終了する。
- ユーザー証明書マネージャーを起動する。
[ スタート ] ボタンを右クリックし、[ ファイル名を指定して実行 ] に、以下を入力し、[ Enter ] を押下する。
certmgr.msc
- 論理ストアを開き、証明書を確認する。
左ペインの [ 個人 ]>[ 証明書 ] をクリックする。先ほど入力した証明書の名前と同じ証明書を確認する。
※有効期限は 6年のため、6年後には再発行する必要がある。
Office マクロの設定変更
- マクロを使用するコンピューターで Excel / Word / PowerPoint / Access を開く。
- [ ファイル ]>[ オプション ]>[ トラストセンター ]>[ トラストセンターの設定 ]>[ マクロの設定 ] で [ 電子署名されたマクロを除き、VBA マクロを無効にする ] にチェックを入れる。
- [ OK ] をクリックする。

以上により、署名済みマクロの実行が許可される。
Office マクロに署名する
- マクロを使用するコンピューターで Excel / Word / PowerPoint / Access を開く。
- [ Alt + F11] を押下し、VBA エディター を起動する。
- [ツール] → [デジタル署名] をクリックする。

- 既定の証明書を選択する
[ 選択 ] をクリックする。
- 作成した証明書を選択する

他の証明書が表示された場合は、[ その他 ] をクリックして、作成した証明書を選択する。
- [ OK ] をクリックして終了する。
以上で、プロジェクトに電子署名がされました。
署名された Office マクロを他のコンピューターで実行する場合
署名されたマクロを、他のコンピューターでも利用するには、そのコンピューターで初回実行時にユーザーが信頼する必要があります。
- 配布先PCで、署名付きマクロ(例:Excel .xlsm)を開く。
- Office が署名を検証して「署名は付いているが、この発行者はまだ信頼されていない」と判断し、画面上部の黄色バー(セキュリティ警告)を表示する。
- [コンテンツの有効化] をクリックし、[発行元を信頼する](または類似の選択) を選択する。
- Office/Windows は、その証明書(=発行者)を ユーザー(Current User)スコープの
「信頼された発行元(Trusted Publishers)」 に登録する。 - 以後、同じ証明書で署名されたマクロは「信頼された発行元の署名」として扱われ、警告が減る/なくなる。









