Excelマクロがoffice365で有効にならない?対処法を調査!
Excelでマクロ付きのファイルを開いたのに、マクロが有効にならないという場面に遭遇したら、実は原因がはっきりしているケースがほとんどです。特にoffice365では、2022年以降のセキュリティ強化によって、インターネット経由で入手したファイルのマクロが既定でブロックされる仕様に変わりました。
「今まで普通に動いていたのに、急に有効化できなくなった」という相談は珍しくありません。原因は大きく分けて、ファイルの入手経路によるブロック、トラストセンターの設定、そして会社のポリシーの3つに絞り込めます。
この記事では、Excelのマクロがoffice365で有効にならない原因を一つずつ整理し、状況別の対処法を手順つきで解説していきます。
放置したままにしておくと、自動化していたはずの集計作業や請求書発行が突然止まり、気づいたときには手作業でのリカバリーに追われることもあります。原因の見極めさえできれば、対処自体はそれほど難しくありません。
この記事を読むと、次のことが分かります。
- Excelのマクロがoffice365で有効にならない主な3つの原因
- ファイルの入手経路によってマクロがブロックされる仕組み
- 状況別に試すべき具体的な対処法の手順
- 会社のパソコンで設定を変更できないときの相談先
それでは、まず原因から順番に見ていきましょう。
Excelマクロが有効にならない原因
Excelでマクロが有効にならないときは、闇雲に設定をいじる前に、まず自分のケースがどの原因に当てはまるのかを切り分けることが解決への近道です。ここでは代表的な3つの原因を順番に見ていきます。
マクロは業務の自動化に欠かせない機能である一方、悪用されると被害が大きくなりやすい機能でもあります。Excel側もむやみに緩い設定にはできない事情があることを踏まえたうえで、原因を順番に確認していきましょう。
セキュリティ強化で既定ブロックされる仕組み
Excelのマクロがoffice365で有効にならない場合、最も多い原因はインターネット経由で入手したファイルへの自動ブロックです。心当たりがないという方も、まずここを疑ってみる価値があります。
この仕様は、Microsoftが2022年9月にセキュリティ強化のために導入したものです。VBAマクロは古くからマルウェアの配布手段として悪用されてきた経緯があり、インターネットから入手したと判断されたOfficeファイルは、既定でマクロの実行がブロックされるようになりました。対象はAccess、Excel、PowerPoint、Visio、Wordと幅広く、Windows版のMicrosoft 365 Appsで有効な変更です。
2022年9月以降、Microsoft 365 Appsでは、メール添付やダウンロードなど「インターネットから入手した」と判定されたOfficeファイルのマクロが既定でブロックされます。対象はAccess、Excel、PowerPoint、Visio、Wordです。
具体的には、メールに添付されたファイルを開いた場合、ブラウザでインターネットゾーンのサイトからダウンロードした場合、共有サーバー上のファイルを直接開いた場合などが該当します。これらのファイルには、Windowsの仕組みでMOTWと呼ばれる印が自動的に付与され、この印があるとExcelはマクロの実行を拒否します。くわしい仕組みはMicrosoftのインターネットからのマクロが既定でブロックされる仕組みの解説にまとまっています。
社内メールサーバーやセキュリティゲートウェイを経由した添付ファイルも、同様に「インターネットから入手した」扱いになることがあります。社内から社内への送信であっても、メールシステムの構成によっては対象になる場合があるため、送信元が社内だからといって安心はできません。
身近な例で言うと、取引先からメールで送られてきた集計用のマクロブックや、社内のTeamsチャットで共有された申請フォーマットなども、ダウンロードした時点でこの印が付きます。USBメモリなど物理メディア経由で受け取った場合は対象外になることが多いものの、クラウドストレージの共有リンクからダウンロードした場合は、同じくインターネット由来として扱われる点に注意が必要です。
「以前は同じ手順で普通にマクロが動いていたのに」と戸惑う方も多いはずです。ただこれは、ファイルやパソコンが故障したわけでも、操作を間違えたわけでもありません。Microsoft側の既定の挙動が変わっただけであり、原因が分かれば落ち着いて対処できる話です。
なお、この既定ブロックが有効になっているかどうかは、Excelの「ファイル」から「アカウント」を開き、バージョン情報を確認すると見分けやすくなります。Microsoft 365 Apps for enterpriseやBusinessの場合はバージョン2203以降でこの仕様が適用されています。手元の環境が古いビルドの場合は、いったん更新プログラムの確認から始めてみるのもひとつの方法です。
つまり、急にマクロが有効化できなくなった場合の第一候補は、この既定ブロックだと考えてよいでしょう。次の項目で、別の角度からブロックされているケースを確認していきます。
なお、これとは別に、拡張子が「.xlsx」のブックにはそもそもマクロを保存できないという仕様上の制約もあります。マクロを含むブックを保存する際は、必ず「Excelマクロ有効ブック(.xlsm)」形式を選ぶ必要があり、誤って「.xlsx」で保存すると、マクロ部分だけが失われた状態になります。ブロックの問題と混同しやすいので、まずは拡張子が「.xlsm」になっているかどうかもあわせて確認しておきましょう。
トラストセンターのマクロ設定が影響する場合
ブロックの印が付いていないファイルなのにマクロが有効にならない場合は、トラストセンターのマクロ設定そのものが原因になっている可能性があります。
Excelには「ファイル」から「オプション」、そして「トラストセンター」の中に、マクロの扱いを決める設定項目があります。ここが「警告を表示せずにすべてのマクロを無効にする」になっていると、そもそもセキュリティの警告自体が表示されず、「コンテンツの有効化」ボタンも出ないまま静かにマクロだけが無効化されます。
実際に設定を確認するには、「ファイル」から「オプション」、「トラストセンター」、「トラストセンターの設定」と進み、左側のメニューから「マクロの設定」を開きます。現在選ばれている項目にラジオボタンが入っているので、ここで実際の値を目で確認できます。値が分かれば、後ほど紹介する手順に沿って、安全な設定へ変更するだけです。また、Excel上部に黄色や赤色の警告バーが表示されていないかどうかも、切り分けの手がかりになります。バーごと表示されていない場合は、警告を出さずに無効化する設定になっている可能性が高いというサインです。
たとえば、以前セキュリティを意識して自分で設定を厳しくした、あるいは会社支給のパソコンで初期設定として厳格な値が入っていた、といったケースが典型です。他部署から譲り受けた中古のパソコンを使い始めたときや、社内で配布されたセキュリティ強化用の設定スクリプトを実行した後などにも、こうした厳しめの設定が引き継がれていることがあります。ボタンが出ないため、ブロックされていること自体に気づきにくいのが厄介なところです。
「そんな設定を触った覚えがない」という方もいるかもしれません。ただ、初期セットアップの段階でIT部門があらかじめ厳しめの値を配布していたり、以前使っていた人の設定が引き継がれていたりすることも珍しくありません。心当たりがなくても、一度は設定画面そのものを確認しておくと安心です。
結局のところ、警告が出ない、あるいは出たことがないという状態が続いているなら、疑うべきはこのトラストセンターの設定です。次のH2で紹介する手順に沿って、実際の設定値を見直してみましょう。
会社のポリシーでグレーアウトしているケース
会社や組織が貸与しているパソコンの場合、管理者側のグループポリシー(GPO)によってマクロの設定自体が一括で制御されていることがあります。
この場合、トラストセンターの画面を開いても、マクロの設定項目がグレーアウトして選択できない、あるいは変更してもすぐに元の値へ戻ってしまうといった症状が出ます。これは個人のミスではなく、組織のセキュリティ方針としてわざとそうなっている状態です。実際に管理者による制御が行われている場合、Excelのオプション画面に「一部の設定は組織によって管理されています」といった注記が表示されることもあります。これが出ていれば、個人のアカウントではなくパソコン全体、あるいは所属する組織単位でポリシーが適用されている証拠です。
たとえば、部署全体で標準化されたテンプレートファイルだけを許可し、それ以外のマクロ付きファイルは一律にブロックするという運用は、情報漏えいやマルウェア対策として珍しくありません。個人の利便性よりも組織全体の安全性が優先される場面です。
設定がグレーアウトしている場合、レジストリの直接編集など裏技的な回避策はおすすめできません。社内規定に反する可能性があり、セキュリティ上のリスクも自分で背負うことになります。
グレーアウトを見つけたら、それ以上は自己解決を目指さず、会社の管理者やIT部門に相談するのが結果的に一番早い解決策です。相談する際は、対象のファイル名や表示されるメッセージに加えて、そのマクロがどんな業務に使われていて、どの部署が利用しているのかを伝えると、例外設定や信頼できる発行元への登録など、具体的な対応を検討してもらいやすくなります。組織の規模によっては、申請から解除までに数日かかることもあります。急ぎで作業が必要な場合は、マクロを使わない代替の手順(数式や手動操作での代用)を一時的に案内してもらえないか、あわせて相談しておくと業務が止まりにくくなります。あわせてOutlook仕分けルールが適用されない原因も、管理者側の設定が影響する似た構造のトラブルとして参考になります。
office365でマクロを有効にする対処法
ここまでの3つの原因を踏まえたうえで、実際にマクロを有効にするための対処法を順番に見ていきます。自分がどのパターンに当てはまるかによって、試すべき手順が変わってきます。
すべてを一度に試す必要はありません。まずは自分の状況に近いものから、順番に確認していけば十分です。
ファイルのプロパティでブロックを解除する
先ほど紹介したインターネット由来のブロックが原因になっている場合、最初に試したいのがファイルのプロパティからの解除です。特別な知識がなくても数十秒で終わる作業です。
手順は次のとおりです。
- 対象のExcelファイルをエクスプローラー上で右クリックし、「プロパティ」を開く
- 「全般」タブの一番下にある「セキュリティ」欄を確認する
- 「このファイルは他のコンピューターから取得したものです」という文言と「許可する」のチェックボックスがあれば、チェックを入れる
- 「適用」、「OK」の順にクリックし、あらためてファイルを開く
この「許可する」のチェックボックスが表示されている時点で、そのファイルにはインターネットから入手した印が付いていることが分かります。逆に、この項目自体が表示されない場合は、原因が別(トラストセンターや会社のポリシー)にある可能性が高いという判断材料にもなります。判定の詳しい条件はMicrosoftの潜在的に危険なマクロがブロックされた場合の解説で確認できます。
ブロックが解除されているかどうか判断に迷うときは、Alt+F11キーでVBAエディターを開き、対象のモジュールやプロシージャが表示されるかを確認する方法もあります。エディター自体は開けるのにマクロが実行されない場合は、コード自体は残っているものの実行だけが止められている状態だと判断できます。
まれに、この「セキュリティ」欄の項目自体が表示されない、あるいはチェックボックスがグレーアウトしていて操作できないことがあります。これは主に、外付けドライブがFAT32など一部のファイルシステムでフォーマットされている場合や、会社のポリシーでブロック解除自体が制限されている場合に起こります。前者はファイルをいったんCドライブ内のフォルダーへコピーしてから試すと解消することが多く、後者は前のH2で触れた管理者への相談が必要になります。
大量のファイルを一度に受け取った場合、1つずつプロパティを開いてチェックを入れるのは手間がかかります。PowerShellを使える環境であれば、対象フォルダーに対してUnblock-Fileコマンドを実行することで、フォルダー内の複数ファイルのブロックをまとめて解除することも可能です。ただし、この方法は社内ルールで利用が制限されている場合があるため、自己判断で使う前に運用ルールを確認しておくと安心です。
「ファイルを受け取るたびに毎回この作業をするのは面倒」と感じる方もいるはずです。実際、頻繁にやり取りするファイルであれば、この方法は応急処置に近いものです。恒久的に手間を減らしたい場合は、次に紹介する「信頼できる場所」の設定を検討してみてください。まずはこの一手で直るかどうかを試すのが、いちばん手っ取り早い確認方法です。
信頼できる場所にフォルダーを登録する
特定のフォルダーに保存したマクロ付きファイルを日常的に開くなら、信頼できる場所として登録しておくと、毎回の解除作業から解放されます。
設定手順は次のとおりです。
- Excelの「ファイル」タブから「オプション」を開く
- 「トラストセンター」、「トラストセンターの設定」の順にクリックする
- 「信頼できる場所」を選び、「新しい場所の追加」をクリックする
- 「参照」からマクロ付きファイルを保存しているフォルダーを指定する
- 必要に応じて「この場所のサブフォルダーも信頼する」にチェックを入れ、OKで確定する
登録が完了すると、そのフォルダーに保存されたファイルは、開くたびにセキュリティの警告を経由せず自動的にマクロが有効な状態で開くようになります。社内で共有しているテンプレート置き場や、自分専用の作業フォルダーに向いている設定です。あわせてExcelのシート保護解除の方法も、保存場所や設定が絡むトラブルとして参考になります。
ネットワークドライブやSharePoint上のフォルダーも信頼できる場所として登録できますが、その場合は「ネットワーク上の場所を許可する」という項目に別途チェックを入れる必要があります。既定ではローカルドライブのみが対象になっているため、共有フォルダーを指定しただけでは反映されないことがある点に注意してください。
信頼できる場所に登録したフォルダーは、中のファイルであれば内容を問わず無条件でマクロが実行されます。誰でも書き込めるフォルダーや共有範囲の広いネットワークドライブは登録しないようにしましょう。
実務では、用途が一目で分かる専用フォルダーを新しく作り、そこだけを信頼できる場所として登録する運用がよく使われます。デスクトップやダウンロードフォルダーのように様々なファイルが入り混じる場所を丸ごと登録してしまうと、意図しないファイルまで無条件でマクロが動く状態になるため避けたほうが安全です。
設定を反映させるには、登録した直後にExcelをいったん終了し、再度起動してから対象ファイルを開き直すことをおすすめします。反映を確認しないまま「効かない」と判断してしまうケースも多いため、あわせて覚えておきましょう。
信頼できる場所は、自分や限られたメンバーだけが書き込める、素性のはっきりしたフォルダーに絞って登録するのが安全な運用です。範囲を広げすぎないことを意識しておきましょう。
トラストセンターでマクロ設定を変更する
トラストセンターの設定自体が原因の場合は、マクロの扱いを決める項目を直接見直します。
「ファイル」から「オプション」、「トラストセンター」、「トラストセンターの設定」と進み、左側の「マクロの設定」を開くと、次の4つから選べます。
| 設定項目 | 内容 | おすすめ度 |
|---|---|---|
| 警告を表示せずにすべてのマクロを無効にする | 常に無効。有効化ボタンも出ない | 非推奨 |
| 警告を表示してVBAマクロを無効にする | 既定値。開くたびに確認できる | おすすめ |
| デジタル署名されたマクロを除き、その他のマクロを無効にする | 署名済みのみ自動許可 | 社内配布向き |
| VBAマクロを有効にする(推奨しません) | 常に有効。警告なしで実行 | 非推奨 |
この中でMicrosoftが既定として採用しているのは「警告を表示してVBAマクロを無効にする」です。ファイルを開くたびに「コンテンツの有効化」ボタンが表示され、その都度、自分の判断で有効化できる仕組みになっています。設定変更の細かい手順はMicrosoftのMicrosoft 365ファイルでマクロを有効または無効にする公式解説にも掲載されています。
3つ目の「デジタル署名されたマクロを除き、その他のマクロを無効にする」は、社内で発行元証明書を使ってマクロに署名し、組織的に配布する運用に向いた選択肢です。個人利用ではあまり使う機会がありませんが、情報システム部門がテンプレートを配布している会社では、この設定が既定になっていることもあります。自分の環境がどの設定になっているか分からない場合は、社内のヘルプデスクに確認してみるのもひとつの方法です。デジタル署名を使う場合は、社内で発行した証明書、または信頼できる認証局が発行した証明書でマクロに署名し、その発行元を「信頼できる発行元」として一度承認しておく流れになります。承認後は、同じ発行元のマクロであれば警告なしに実行できるようになり、利便性と安全性を両立しやすい方法です。
「VBAマクロを有効にする」はMicrosoft自身が名称に「推奨しません」と明記している設定です。面倒でも、既定の「警告を表示してVBAマクロを無効にする」のまま運用するのが安全です。
「面倒だから常に有効にする設定にしてしまいたい」と考える方もいるかもしれません。ただし一番下の「VBAマクロを有効にする」は、どんな送信元のマクロでも警告なしに実行してしまう、最もリスクの高い設定です。常時有効化は避け、既定の「警告を表示して無効化」に戻しておくのが無難です。マクロを常用する方は、あわせてExcelの自動保存をオフにする方法も確認しておくと、マクロ実行中の意図しない上書きを防げます。
設定を変更したら、いったんExcelを再起動してから、対象のファイルで挙動を確認してみましょう。ここで紹介したマクロの設定は、Excel単体の設定であり、WordやPowerPointにはそれぞれ別のトラストセンター設定があります。Excelだけ直しても、Wordのマクロ付きファイルが同じ症状のままということもあるため、複数のアプリで同様の問題が起きている場合は、アプリごとに設定を確認するようにしましょう。
Excelマクロに関するよくある質問
ここまでの内容とあわせて、Excelのマクロについてよく聞かれる質問をまとめました。
マクロを常に有効化しても安全か
結論から言うと、常時有効化はおすすめできません。トラストセンターの「VBAマクロを有効にする」を選ぶと、送信元が不明なファイルであっても警告なしにマクロが実行されてしまいます。マクロは古くからランサムウェアなどの感染経路として悪用されてきた歴史があり、常時有効化は感染リスクを大きく引き上げます。とくに、出所の分からないメール添付ファイルや、フリーソフトのダウンロードページ経由で入手したテンプレートなどは、常時有効化の状態で開くと危険性が高まります。信頼できるファイルだけを、必要なときにその都度有効化するか、素性のはっきりしたフォルダーだけを信頼できる場所として登録する方法が安全です。
コンテンツの有効化ボタンが出ない理由
ボタンが表示されないまま静かにマクロが無効化されている場合は、多くがトラストセンターで「警告を表示せずにすべてのマクロを無効にする」が選ばれている状態です。この設定では、そもそも確認のダイアログ自体が表示されない仕組みになっています。トラストセンターのマクロ設定を開き、「警告を表示してVBAマクロを無効にする」に変更すると、以後はファイルを開くたびにボタンが表示されるようになります。また、まれにアドインの影響やExcel自体の一時的な不具合が原因でボタンの表示が乱れることもあります。設定を戻しても改善しない場合は、Excelをセーフモードで起動して現象が再現するかどうかを確認してみるのもひとつの切り分け方法です。
office365以外でも設定手順は同じか
買い切り版のOffice2019やOffice2021でも、トラストセンターの画面構成や設定項目はほぼ共通です。ただし、インターネットから入手したファイルを既定でブロックする仕様は、2022年9月以降にMicrosoft 365 Apps(office365のサブスクリプション版)から段階的に適用されたものです。買い切り版や更新の古い環境では、この既定ブロックが有効になっていない場合もあります。また、家庭向けのMicrosoft 365 PersonalやFamilyでも、法人向けのBusinessやEnterpriseと同様にこのブロック機能が適用されています。契約プランの違いよりも、アプリのバージョンとビルド番号が基準になっている点を覚えておくと判断しやすくなります。
Excelマクロが有効にならないまとめ
Excelのマクロがoffice365で有効にならないときは、①インターネット由来の自動ブロック、②トラストセンターの設定、③会社のポリシーという3つの原因のどれに当てはまるかを見極めることが解決への近道です。
ファイルのプロパティを確認してブロックを解除する、信頼できる場所を登録する、トラストセンターの設定を見直す、この3つを順番に試せば、多くのケースは解消できます。会社のパソコンで設定がグレーアウトしている場合は、無理に自己解決を目指さず、早めにIT部門へ相談するのが結果的に一番の近道です。
最初にどのパターンかを見極め、該当する対処法をひとつずつ試していけば、多くの場合は数分程度で解決できます。今後も同じようなファイルを扱う予定があるなら、信頼できる場所の登録まで済ませておくと、次回以降はスムーズに作業を進められるはずです。とくに、日常的にマクロ付きファイルを使う機会が多い方ほど、信頼できる場所の設定を先に済ませておくメリットは大きくなります。逆にたまにしか使わない場合は、都度ブロックを解除する運用のままでも大きな支障はないはずです。
マクロは業務を効率化してくれる便利な機能ですが、セキュリティとのバランスを取りながら、必要な範囲だけを安全に有効化していきましょう。