仕事で誰かから送られてきたExcelファイルを開いたとき、画面の上部に「セキュリティの警告」という黄色いバーが表示されて、ドキッとした経験はありませんか?
「マクロって便利だと聞くけれど、むやみに有効にしていいのかな……」と不安に感じる方も多いのではないでしょうか。実はその直感、セキュリティの観点から非常に正しい感覚と言えます。
Excelのマクロ(VBA)は、日々の面倒な単純作業をボタンひとつで終わらせてくれる魔法のような機能です。しかしその反面、悪意のあるプログラムをパソコン内に引き込んでしまう「入り口」として狙われやすいという弱点も抱えています。
この記事では、Excelのマクロ設定の意味や具体的な変更手順、そして情報漏洩やウイルス感染を防ぐための安全な運用方法について、初心者の方にもわかりやすく解説していきます。最新のセキュリティ動向や、インターネットからダウンロードしたマクロが動かない時の対処法まで網羅していますので、ぜひ日々の業務にお役立てくださいね。
Excelのマクロ設定が急に厳しくなった?知っておくべき背景事情
マクロの設定手順をお伝えする前に、まずは「なぜそもそもマクロには細かいセキュリティ設定が用意されているのか」という背景に少しだけ触れておきましょう。ここを知っておくと、設定選びに迷いがなくなります。
マクロの正体は、「VBA(Visual Basic for Applications)」というプログラミング言語で書かれた自動化の命令書です。計算や表作成を自動で行うだけでなく、パソコンの中のファイルを読み書きしたり、インターネットに接続して別のプログラムをダウンロードしたりすることもできてしまいます。
この「なんでもできてしまう便利さ」を逆手に取ったのが、マクロウイルスと呼ばれるマルウェアです。 代表的なものに「Emotet(エモテット)」などがあり、取引先からの請求書や見積書を装ったExcelファイルとしてメールに添付されてきます。うっかりファイルを開いてマクロを「有効」にしてしまうと、裏側で勝手にウイルスがダウンロードされ、社内の機密情報が盗まれたり、他の企業へスパムメールを大量送信する踏み台にされてしまったりするのです。
マイクロソフト社による最新のセキュリティ動向
こうした被害の拡大を受け、開発元であるMicrosoft社は近年、マクロに対するセキュリティの初期設定を段階的に厳しくしています。
特に2022年以降の大きな変化として、「インターネットから入手したマクロ付きファイルは、デフォルト(初期状態)でブロックされる」という強力な制限が導入されました。かつては黄色い警告バーのボタンを押すだけで実行できていましたが、現在では赤い警告バーが表示され、簡単にはマクロを動かせない仕組みに変わってきています。
つまり、「マクロは原則として危険なものとして扱い、本当に信頼できるものだけを許可する」というのが、現代のIT業界におけるスタンダードな考え方になっているというわけです。
画像で確認!マクロ設定画面(トラストセンター)の開き方
それでは、実際に自分のExcelがどのようなマクロ設定になっているのかを確認してみましょう。設定の変更は、Excel内の「トラストセンター(セキュリティセンター)」という場所から行います。
以下の手順に沿って、設定画面を開いてみてください。
- Excelの画面左上にある「ファイル」タブをクリックする
- 左下のメニューから「オプション」を選択する(隠れている場合は「その他…」をクリックしてから選びます)
- 「Excel のオプション」というウィンドウが開いたら、左側のメニューの一番下にある「トラスト センター」をクリックする
- 右側に表示される「トラスト センターの設定(T)…」というボタンをクリックする
- 新しいウィンドウが開くので、左側のメニューから「マクロの設定」を選ぶ
ここまで進むと、お手元に用意されている参考画像(image_a9b9c5.png)と同じ画面が表示されるはずです。この画面で、マクロの動作をコントロールしていきます。
4つの「マクロの設定」項目を徹底比較
参考画像(image_a9b9c5.png)の「マクロの設定」欄には、4つの選択肢(ラジオボタン)が用意されています。それぞれの仕組みと違い、そしてメリット・デメリットを整理して見ていきましょう。
| 設定項目名 | 仕組み・動作 | 向いている用途 | メリット・デメリット |
|---|---|---|---|
| 警告せずに VBA マクロを無効にする | マクロが含まれていても一切通知せず、自動的に無効化する。 | マクロを全く使用しない環境向け。 | 【メリット】誤操作によるウイルス感染を完全に防げる。 |
【デメリット】必要なマクロも動かず、そのことに気づきにくい。 |
| 警告して、VBA マクロを無効にする | デフォルトの設定。ファイルを開くと黄色い警告バーが表示され、ユーザーが手動で有効にできる。 | 一般的なオフィスワーク、標準的な用途向け。 | 【メリット】安全性を保ちつつ、必要な時だけマクロを使える。 【デメリット】警告に慣れてしまい、考えずに「有効」を押すリスクがある。 |
| 電子署名されたマクロを除き、VBA マクロを無効にする | デジタル証明書(電子署名)が付与された安全なマクロだけを実行し、それ以外はブロックする。 | 厳しいセキュリティ基準を持つ企業環境向け。 | 【メリット】出所が確かなマクロだけを安全に運用できる。 【デメリット】署名を取得・管理するコストと手間がかかる。 |
| VBA マクロを有効にする | 警告なしで、すべてのマクロが無条件で実行される。 | 外部ネットワークから完全に遮断されたテスト環境向け。 | 【メリット】ファイルを開くたびに警告が出る煩わしさがない。 【デメリット】ウイルス感染の危険性が極めて高く、非推奨。 |
画像(image_a9b9c5.png)でも選択されている通り、基本的には上から2番目の「警告して、VBA マクロを無効にする (A)」を選んでおくのが最もバランスが良く、推奨される設定です。
一番下の「VBA マクロを有効にする」は、Microsoft自身が画面上で「推奨しません。危険なコードが実行される可能性があります」と明記している通り、日常的な業務で使用するのは絶対に避けてください。
「Excel 4.0 のマクロ」と「開発者向け設定」の役割とは?
同じく画像(image_a9b9c5.png)の画面下部には、2つのチェックボックスが用意されています。これらは少し専門的な設定になりますが、概要を知っておくことでトラブルを未然に防げます。
VBA マクロが有効な場合に Excel 4.0 のマクロを有効にする
「Excel 4.0 マクロ(XLMマクロ)」とは、現在の主流であるVBAが登場するよりずっと昔、1992年頃に使われていた非常に古い仕組みのマクロです。
「そんな古い機能、誰も使っていないのでは?」と思われるかもしれませんが、実は近年、この古い仕様の盲点を突いてサイバー攻撃を仕掛ける手口が増加しました。そのため、現在ではこのチェックを「オフ」にしておくことがセキュリティ上の推奨となっています。
もし社内で30年近く前から稼働しているような古いシステムがあり、この機能に依存している場合を除いては、むやみにチェックを入れない方が安心です。
VBA プロジェクト オブジェクト モデルへのアクセスを信頼する
こちらは「開発者向けのマクロ設定」という位置づけです。少し専門的になりますが、これは「マクロ(VBA)を作るためのプログラムコード自体を、別のプログラムから操作して良いか」という許可を意味します。
例えば、Pythonなどの別のプログラミング言語からExcelのマクロを自動生成したり、VBAのコードを自動で書き換えるような特殊なツール(アドインなど)を使ったりする場合には、ここにチェックを入れる必要があります。
通常のオフィス業務でマクロを「使うだけ」のユーザーや、自力で少しコードを書く程度のユーザーであれば、ここもチェックを外したままにしておくのが安全です。
セキュリティリスクを回避!「信頼できる場所」の活用メリット
「毎回ファイルを開くたびに『コンテンツの有効化』ボタンを押すのが面倒……。でも、マクロを常に有効にする設定は危険だし、どうすればいいの?」
そんな悩みを抱える方におすすめしたいのが、「信頼できる場所(トラスト ロケーション)」という機能の活用です。
これは、「この特定のフォルダ(例えば『C:\業務ツール\』など)に入っているExcelファイルだけは、無条件で安全だと見なしてマクロを実行する」という例外ルールを作る仕組みです。
信頼できる場所の設定手順
- トラストセンター(セキュリティセンター)の画面を開く
- 左側のメニューから「信頼できる場所」を選択する
- 画面右下の「新しい場所の追加(A)…」をクリックする
- 「参照」ボタンを押して、安全だとわかっている自社開発のツールなどが入っているフォルダを指定する
- 「OK」を押して閉じる
この設定を行えば、指定したフォルダからファイルを開いた時だけは、煩わしい警告バーが出ることなく、スムーズにマクロが起動します。もちろん、ダウンロードフォルダやデスクトップなど、外部からのファイルが混ざりやすい場所を指定するのはNGです。専用の「安全なフォルダ」をひとつ作っておくのが賢い使い方と言えるでしょう。
インターネットから取得したマクロが動かない場合の対処法
近年、最もよくあるトラブルが「取引先からメールで送られてきたマクロ付きファイル(.xlsm)や、Webサイトからダウンロードした便利ツールが、どう設定を変更しても動かない」という現象です。
これは先ほど「最新のセキュリティ動向」で触れた通り、WindowsOSとExcelが連携して「このファイルはインターネットという危険な場所からやってきた」という目印(Mark of the Web:MOTWと呼ばれる識別情報)をファイルに付与しているためです。
この赤い警告バー(「セキュリティリスク:このファイルのソースが信頼できないため、Microsoftによりマクロの実行がブロックされました」などのメッセージ)が出た場合は、Excelの設定画面ではなく、ファイル自体のプロパティを操作してブロックを解除する必要があります。
ブロック解除の具体的なステップ
- 対象のExcelファイルを一度閉じる
- ファイルのアイコンを右クリックし、一番下の「プロパティ」を選択する
- 「全般」タブを開いたまま、一番下まで視線を移す
- 「セキュリティ:このファイルは他のコンピューターから取得したものです。~」というメッセージの横にある「許可する(またはブロックの解除)」というチェックボックスにチェックを入れる
- 「適用」または「OK」をクリックしてプロパティを閉じる
この操作を行うことで、「私はこのファイルが安全だと確認しました」という宣言をしたことになり、次回からは通常通り黄色い警告バー(有効化ボタン)が表示されるか、設定によってはそのままマクロが実行されるようになります。
ただし、送信元が本当に信頼できる相手なのか、メールの文面が不自然ではないか(なりすましメールではないか)を十分に確認した上で解除操作を行うようにしてくださいね。
- 『Excel VBA 脱初心者のための集中講座』(Amazon・楽天ブックス等で販売中)単にコードを暗記するのではなく、なぜそう動くのかという「仕組み」から丁寧に解説されています。手探りでマクロを使っている方のステップアップに最適です。
- 『できる イラストで学ぶ Excel VBA』(Amazon・楽天ブックス等で販売中)文字ばかりの専門書は苦手……という方へ。豊富な図解で、VBAの基本からエラーへの対処法まで視覚的にスッと理解できる一冊です。
マクロ運用に関するよくある疑問(FAQ)
ここで、マクロの設定や運用に関して、多くの方がつまずきやすい疑問をQ&A形式でまとめました。
- マクロの設定画面がグレーアウト(灰色)になっていて変更できません。
-
これは、会社のIT部門やシステム管理者が「グループポリシー」と呼ばれる機能を使って、社員のパソコンの設定を強制的に固定している場合に発生します。 「社員が勝手にマクロを有効にしてウイルスに感染するのを防ぐ」という組織のセキュリティ方針によるものですので、どうしても変更が必要な場合は、自社のシステム管理部門へ相談してみましょう。
- .xlsx と .xlsm の違いは何ですか?
-
Excelファイルの拡張子(名前の最後につく英字)の違いです。 「.xlsx」はマクロを含めることができない安全な標準フォーマットです。一方、「.xlsm」は「マクロ有効ブック」と呼ばれ、中にVBAのプログラムを保存できる形式になっています。 もし誰かから送られてきたファイルが「.xlsx」であれば、マクロウイルスが仕込まれている心配は構造上ありません。逆に「.xlsm」を受け取った時は、少し警戒して取り扱う癖をつけておくと安心です。
- Mac版のExcelでもマクロの設定は同じですか?
-
基本的な考え方は同じですが、Mac版のExcelはWindows版とトラストセンターの画面構成が異なります。また、Windows固有の機能(外部ファイルとの連携など)を使ったマクロは、Macでは動かないことが多々あります。 設定の確認は、Macのメニューバーから「Excel」>「環境設定」>「セキュリティ」へと進むことで、マクロの有効・無効を切り替えることが可能です。
正しい設定で、安心かつ効率的なExcelワークを
Excelのマクロ設定について、背景にある仕組みから具体的な画面の操作、そしてセキュリティリスクを避けるための知識までを解説してきましたが、いかがでしたでしょうか。
参考画像(image_a9b9c5.png)にあるトラストセンターの画面は、一見すると専門用語が並んでいて難しそうに感じますよね。ですが、それぞれの項目の意味を理解してしまえば、決して怖いものではありません。
重要なポイントをおさらいしておきましょう。
- 基本は「警告して、VBA マクロを無効にする」を選ぶのがベスト
- 「VBA マクロを有効にする」の選択は、ウイルス感染のリスクが高いため絶対に避ける
- 毎回使う自社ツールは「信頼できる場所」に保存して安全に自動実行させる
- ネットからダウンロードしてブロックされたファイルは、プロパティから手動で解除する(安全確認が必須)
マクロ(VBA)は、私たちのルーティンワークを劇的に減らしてくれる頼もしい相棒です。設定の意味を正しく理解し、セキュリティと利便性を上手く両立させながら、毎日の業務を快適に進めていってくださいね。


コメント