【エクセル】「マクロの実行がブロックされました」:マクロが実行できない問題の解決
2022.06.14 /
本記事ではMicrosoftのエクセル(Excel)における、マクロが実行できない問題の解決方法について詳しく解説していきます。
近年サイバー攻撃が急速に増えてきたことを踏まえて、Microsoftはマクロを利用した攻撃に対する対策を強化しました。
インターネットから取得したマクロ付きのエクセルファイルを開くと、マクロはブロックされ(実行されずに)以下の赤色のメッセージバーが表示されるようになりました。
セキュリティリスク このファイルのソースが信用できないため、Microsoftによりマクロの実行がブロックされました。
この最新のアップデートにより、メッセージバーからはマクロを実行することができなくなりました。
本記事を通してマクロ実行に関する変更内容や、マクロを実行するための方法について理解を深めてください。
ここではMicrosoft 365による最新のExcelを利用しています。
Microsoft 365とはMicrosoft社が提供しているOfficeアプリケーション(Outlook、Word、Excel、SharePoint、PowerPointなど)やサービスを利用できるサブスクリプション(月額課金制)のクラウドサービスです
Microsoft365とは:どのようなサービスかわかりやすく解説
2024.08.12 記事を追記および修正いたしました
マクロが実行できなくなった現象
「マクロの実行がブロックされました」の表示
私は社内SE(システムエンジニア)として働いており、パソコンやアプリケーションに関する様々な問い合わせに対応しています。あるときからエクセルのマクロに関する次のような問い合わせが急増しました。
エクセルのマクロを実行することができない
これまではインターネットから取得したマクロ付きのエクセルファイルを開くと以下のようなメッセージバーが表示されていました。
- 保護ビュー 注意ーインターネットから入手したファイルは、ウイルスに感染している可能性があります。編集する必要がなければ保護ビューのままにしておくことをお勧めします。
- セキュリティの警告 マクロが無効にされました
上図のように「保護ビュー」機能で自動的に読み取り専用でエクセルが開かれます。これによりマクロが実行されることを防いでいました。しかし保護ビューは「編集を有効にする」「コンテンツの有効化」を押すことで、手動で解除できます。
つまりこれまでは誰でも簡単に保護ビューを解除してマクロを実行できたということです。
しかし現在の仕組みではメッセージバーにあるボタンを押すことで、ブロックされたマクロを実行することはできません。
セキュリティリスク このファイルのソースが信用できないため、Microsoftによりマクロの実行がブロックされました。
最新のセキュリティを強化した仕組みでは、インターネットから入手したエクセルのマクロを簡単に実行できなくなったということです。
本現象の原因
インターネットから取得したエクセルのマクロが実行できなくなった原因は、簡単に言うとMicrosoftによりセキュリティが強化されたからです。Excelのバージョン2203以降からはこの仕様になっております。
「悪意のあるマクロ付きのエクセル」による攻撃が増えており、特にエモテット(Emotet)による被害が増大しています。マクロ付きエクセルの攻撃を防ぐことが今回の変更の主な理由です。
「悪意のあるマクロ付きエクセル」はメールの添付ファイルで送信されたり、インターネット経由でダウンロードしてしまうことが多いです。
万が一、間違えて「悪意のあるマクロ付きエクセル」を開いてしまった場合でも、マクロが実行されることを防ぎ、特殊な操作をしない限りマクロが実行されなくなりました。
昨今は企業や社内のスタッフを装って送られるなりすましメールに悪意のあるマクロを送信してマクロを受信者に実行させる手口も増えており、マクロによる犠牲者も年々増加しています。
そのためこのようにマクロの実行を防ぐことは非常に有用なことではあります。なりすましメールについて詳しく知りたい方は以下記事をご参照ください。
【Outlook】なりすましメール:実際の送信元メールアドレスを確認する方法
迷惑メールについて
悪意のあるマクロが付いたエクセルは迷惑メールに添付されて送られることが多いです。迷惑メールとは広告メールやメルマガ、悪意のあるメール(スパムメール、フィッシングメール、なりすましメール)など総じて不要または望まれないメールを指します。
私の会社では就職希望者を偽って履歴書や職務経歴書にマクロを付けて送ってくる攻撃者もいます。
普段から気を付けていても誤って悪意のあるエクセルを開いたり、メール内のリンクをクリックしてしまうこともあります。
受信トレイに入ってくる迷惑メールを少しでも減らすために以下記事で紹介している対策を取ることをお勧めします。
【Outlook】迷惑メールの設定:対策について解説
マクロの実行がブロックされるエクセルファイルとは
そもそもマクロとは何なのか?マクロとはコンピューターやアプリケーションの操作を自動化する機能です。日々行う作業をマクロにして自動化することで、大幅に作業時間を短縮できます。
マクロは「VBA」というプログラミング言語で記述されており、比較的簡単に誰でも作成することができます。
では赤いメッセージバーでマクロの実行をブロックされるエクセルファイルはどういったエクセルなのか?マクロが付いているエクセルであることは確実ですが、すべてのマクロ付きエクセルが対象というわけではありません。
赤いメッセージバーでマクロをブロックされるエクセルはインターネット経由で入手したエクセルです。
より細かい分類でいうと、以下のようなエクセルファイルになります。
- メールに添付されたマクロ付きエクセル
- Webサイトからダウンロードしたマクロ付きエクセル
- OneDriveやSharePointからダウンロードしたマクロ付きエクセル
この強化された仕組みでマクロをブロックされるのはWindows版のMicrosoft Office(Excel、Word、PowerPoint、Access、Visio)です。
マクロの実行がブロックされるのはWindows上のアプリだけであり、Office on WebやMac、Android、iOSのエクセルアプリでは影響はありません
2022年7月18日追記
IPアドレス経由でネットワーク上のエクセルを開いている場合でもマクロがブロックされることが判明しました。
会社のスタッフで共有フォルダのサーバー名からではなく、IPアドレス経由で接続していることにより、マクロがブロックされ動かないという事象が発生しました。
IPアドレス経由で開くというのは「\\54.54.54.54」と共有フォルダなどのIPアドレスで開くことを指します。通常は「\\OFFICE54」などとサーバー名でアクセスします。
マクロがブロックされている場合、IPアドレス経由でエクセルを開いていないかも確認してください。
マクロを実行する方法
ブロックされているマクロを実行する方法は以下の通りです。
- Mark Of The Web(MOTW)の解除
- 信頼できる場所にファイルを移動する
- サイトを信頼済みサイトに追加する
それぞれの方法について次項より解説していきます。
Mark Of The Web(MOTW)の解除
赤いメッセージバーでマクロがブロックされるのはエクセルに「Mark Of The Web」(MOTW)という属性が付いているためです。これはWindowsが信頼されていない場所(インターネットなど)から入手したファイルに付けるものです。
マクロを実行するためにはこの「MOTW」を解除する必要があります。
赤いメッセージバーでマクロの実行がブロックされたエクセルで、MOTWを解除する方法(マクロを実行する方法)は以下の通りです。
エクセルが安全なものである確証がある場合にのみ、以下の方法を行うようにしてください
- 対象のマクロ付きエクセルを右クリックする
- メニューから「プロパティ」を選択する
- 「全般」タブの下にあるセキュリティから「許可する」をチェックし、「OK」を選択
上記を実行後、再度エクセルを起動するとマクロを実行することができるようになります。
この方法は一つ一つのファイルを上記の手順で解除していくため、ブロックを解除するファイルが多い場合は不向きです。
上記の操作からわかるように、マクロがブロックされているエクセルのプロパティのセキュリティには次のようなメッセージが記述されています。
このファイルは他のコンピュータから取得したものです。このコンピュータを保護するため、このファイルへのアクセスはブロックされる可能性があります。
このメッセージがあれば、「許可する」にチェックを入れることでマクロのブロックを解除できるということです。
信頼できる場所にファイルを移動する
前項で解説した「Mark Of The Web(MOTW)の解除」では一つずつしかマクロのブロックを解除できません。ブロックを解除するファイルが多い場合は本項で解説する方法が効果的です。
エクセルのオプションには「信頼できる場所」という設定があります。この「信頼できる場所」に設定した場所にエクセルを移動することでマクロを実行できるようになります。
信頼できる場所の追加方法は以下の通りです。
- エクセルアプリを開く
- 画面左ペインにある「オプション」をクリックする
- 左ペインから「トラストセンター」を選択し、次に右ペインから「トラストセンターの設定」を選択する
- 表示された「トラストセンター」画面の左ペインから「信頼できる場所」をクリックする
- 右ペインにある「新しい場所の追加」をクリックする
- 表示された画面で追加したいパスを入力<「この場所のサブフォルダーも信頼する」にチェック<「OK」をクリックする
信頼できる場所にパスを追加する際に「この場所のサブフォルダーも信頼する」にチェックを入れておくことで、指定したフォルダ内の子フォルダにマクロ付きエクセルを格納してもマクロが常に有効になります
上記の操作で信頼できる場所に対象のパスが追加されます。
信頼できる場所に追加したパス内にエクセルを移動することで、マクロ付きエクセルはマクロをブロックされずに使用できるようになります。
サイトを信頼済みサイトに追加する
サイトのURLを信頼済みサイトに登録することで、そのサイトからダウンロードしたエクセルのマクロがブロックされないようにします。
特定のサイトから頻繁にマクロ付きエクセルをダウンロードする場合はこの方法が効率的です。
サイトを信頼済みサイトに追加する方法は以下の通りです。
- キーボードで「Windows + R」を同時に押す
- 表示された「ファイル名を指定して実行」画面に「inetcpl.cpl」と入力して「OK」をクリックする
- 表示された「インターネットのプロパティ」画面より「セキュリティ」タブをクリックする
- 次に「信頼済みサイト」を選択し「サイト」ボタンをクリックする
- 表示された「信頼済みサイト」画面でサイトのURLを入力して「追加」をクリック<サイトのURLが「Webサイト」に追加されていることを確認して「閉じる」をクリックする
上記の流れで「信頼済みのサイト」に対象のサイトを追加することができます。
SharePointに保存されているエクセルの場合
SharePointとはMicrosoftが提供しているクラウドサービスであり、クラウド上にファイルの保管や共有を可能にする大容量のクラウドストレージです。
SharePointに格納されているエクセルをダウンロードしてマクロを実行しようとすると、本記事で紹介しているようにブロックされてしまいます。
SharePointに格納されたままでいいのであれば、SharePointにあるエクセルをアプリで開くことでブロックされずにマクロを実行できます。
エクセルをアプリで開く方法は以下記事をご参照ください。
【SharePoint】エクセル(Excel)のマクロを実行する方法
IPアドレス経由で開いているエクセルの場合
すでに述べていますがIPアドレス経由でエクセルを開くとマクロの実行がブロックされてしまいます。
そこで例えば共有フォルダのエクセルを開く場合は、IPアドレスではなくサーバー名で開くようにしましょう。
もしデスクトップに共有フォルダのエクセルへのショートカットがあり、それがIPアドレス経由で開いているならば以下の手順で修正してください。
- 対象のエクセルを右クリックし、プロパティを選択
- 「リンク先」と「作業フォルダー」のIPアドレスをサーバー名に変更する
上記方法でショートカットのリンク先をサーバー名に変換することで、マクロのブロックが解消されます。
またショートカットからではなく共有フォルダに直接アクセスしてエクセルを起動している場合も、共有フォルダへのパスがIPアドレスではなくサーバー名にしてください。
もしくは「サイトを信頼済みサイトに追加する」で解説した方法で対象のファイルサーバーのIPアドレスを追加してください。これによってファイルサーバーからダウンロードしたエクセルのマクロがブロックされることを防げます。
ファイルサーバーのIPアドレスは「file://xxx.xxx.xxx.xxx」の形で指定してください。
セキュリティの「許可する」が表示されないためブロックを解除できない
2023年4月追記
インターネット経由で入手したマクロ付きエクセルは、プロパティを開いてセキュリティから「許可する」をチェックして利用していました。
しかしマクロ付きエクセルをパソコンのローカルに保存して同作業を行おうとした際に、プロパティ画面でセキュリティの文言や「許可する」のチェックボックスが表示されない現象が発生しました。
OneDriveに保存した場合は問題なく「許可する」のチェックボックスが表示されましたが、ローカルに保存したときだけ表示されませんでした。
セキュリティが表示されなくなった原因はわかりませんが、解決策として「トラストセンターの設定」からマクロ付きエクセルが保存されている場所を「信頼できる場所」に追加するとマクロが実行できるようになりました。
原因が判明しだい情報をアップしますが、同様の現象が発生している方はまずは「信頼できる場所」にエクセルを格納する運用で対応してください。
マクロが実行できるようになったら
ここまでの解説でブロックされていた「インターネットから取得したエクセルのマクロ」を実行できるようになったかと思います。
マクロを実行していると他のエクセルブックでも同じマクロを実行できるようにしたい、と考えることもあります。
すべてのエクセルで同じエクセルを実行できるようにするにはマクロをアドイン化してリボンに登録する必要があります。
ぜひ便利なマクロはすべてのエクセルで利用できるようにリボンに登録してみてください。詳しい方法は以下記事をご参照ください。
【エクセル】アドインとは:マクロのアドイン化やマクロの配布
【エクセル】すべてのブックから同じマクロを実行可能にする:マクロをリボンに追加
エクセルに関する役立つ情報
拡張子xlsではなくxlsxを使用すべき
現在でもまだ拡張子xlsのエクセルを利用している人はいらっしゃいます。しかしセキュリティの観点からは絶対に使用はお勧めしません。
そもそもビジネスでは拡張子xlsのエクセルを送ることはビジネスマナーに反します。
もしまだ拡張子xlsのエクセルを使っているのであれば即刻利用をやめて、すべて最新のxlsxに変更しましょう。
より詳しく知りたい方は以下記事をご参照ください。
【エクセル】拡張子xlsをxlsxに変更すべき理由:違いとマクロ実行の危険性
エクセルを複数人で同時編集する方法
共有フォルダなどでエクセルを保存して、複数人で共有して利用することはビジネスにおいて頻繁にあることです。
しかし通常の設定だと同時に複数人で1つのエクセルを編集することはできません。
実はエクセルには「ブックの共有」という機能があり、これを有効にすることで複数人で同時に編集することができるようになります。
詳しく知りたい方は以下記事をご参照ください。
【エクセル】複数人で1つのエクセルを同時に編集する:ブックの共有
エクセルの動きが遅い、頻繁にフリーズする場合の対処法
私の会社ではよくエクセルの動きが遅い、使っていると頻繁にフリーズするといった問い合わせをよくもらいます。
こういった現象が発生する原因は多岐にわたりますが、主に「エクセルの中身を軽くする」、「最新のxlsxに変更」、「エクセルの中身を修正する」といった方法で基本改善できています。
詳しい具体的な方法については以下記事をご参照ください。
【Excel】動きが遅い(重い)、頻繁にフリーズする問題の原因と対処方法
まとめ
本記事「【エクセル】「マクロの実行がブロックされました」:マクロが実行できない問題の解決」はいかがでしたか。
信頼できるサイトからダウンロードしたエクセルでも、通常の方法ではマクロを実行することはできません。信頼できると確信が持てるマクロ付きエクセルのみ、マクロを実行するようにしてください。
エクセルには様々な役立つ機能や設定が備わっています。ぜひ以下記事をご参照いただき、エクセルについて理解を深めてください。
【エクセル】機能一覧:仕事で便利な機能や設定をまとめて紹介