「Microsoft によりマクロの実行がブロックされました」と出てマクロが動かないときの原因と対処
メールやWebから受け取ったExcelファイルで、マクロがブロックされて実行できない場合の原因(インターネットから入手したファイルの印)と、安全にブロックを解除する手順、社内で配布するときの対策を解説します。
どんなメッセージか
マクロ付きのブックを開いたときに、画面上部に赤い帯で「セキュリティ リスク このファイルのソースが信頼できないため、Microsoft によりマクロの実行がブロックされました。」と表示され、「コンテンツの有効化」のボタンが出てこない状態です。
これは VBA のコードの誤りではなく、2022年から順に適用された Office の仕様変更によるものです。以前は黄色の帯の「コンテンツの有効化」を押せば動きましたが、インターネットから入手したファイルは、そのボタン自体が出なくなりました。
原因:ファイルに「インターネットから入手した」印が付いている
Windows は、ブラウザでダウンロードしたファイルや、メールの添付ファイルを保存したときに、「インターネットから来たファイル」という印をファイルに付けます。Office はこの印を見て、マクロの実行を止めています。
そのため、自分で作ったブックは問題なく動くのに、同じブックをメールで送ると相手の PC では動かない、ということが起きます。ZIP で受け取って展開したファイルにも、この印が引き継がれることがあります。
対処1:ファイルのプロパティでブロックを解除する(1ファイルずつ)
送り主と内容に心当たりがあり、安全なファイルだと確認できる場合は、次の手順でブロックを解除できます。解除したあとは、通常どおり「コンテンツの有効化」で実行できます。
- Excel でそのファイルを開いている場合は、いったん閉じる
- エクスプローラーでファイルを右クリックし、「プロパティ」を開く
- 「全般」タブの下にある「セキュリティ」の欄で、「許可する」にチェックを入れる
- 「OK」を押して閉じ、ファイルを開き直す
対処2:複数のファイルをまとめて解除する・信頼できる場所を使う
ZIP で受け取った場合は、展開する前の ZIP ファイルで同じ手順を行ってから展開すると、中のファイルにまとめて反映されます。フォルダ内のファイルをまとめて解除したい場合は、PowerShell の Unblock-File を使う方法もあります。
毎回解除するのが手間な場合は、Excel の「ファイル」→「オプション」→「トラスト センター」→「トラスト センターの設定」→「信頼できる場所」に、マクロ付きブックを置く専用のフォルダを登録する方法があります。ただし、そのフォルダに置いたファイルはすべて確認なしで実行されるため、誰でも書き込めるフォルダは登録しないでください。
# PowerShell で、指定したフォルダ内のファイルの印をまとめて外す例
Get-ChildItem "C:\work\macro" -Recurse | Unblock-File社内でマクロ付きブックを配布するときの対策
受け取る人が毎回この手順で迷わないよう、配布する側で次のような工夫をしておくと問い合わせが減ります。
- メール添付ではなく、社内の共有フォルダに置いて、そこから開いてもらう
- 受け取った人向けに「プロパティで許可する」の手順を、画像付きで1枚にまとめて一緒に配る
- セキュリティの設定(「すべてのマクロを有効にする」など)を下げるよう案内しない
- 会社で設定が管理されていて「許可する」が表示されない場合は、自分で回避せず情報システム部門に相談する
※ブロックは、悪意のあるマクロから PC を守るための仕組みです。送り主や内容が確認できないファイルは、ブロックを解除せずに削除してください。