Accessのセキュリティ警告とマクロ有効化|信頼できる場所の設定
Accessを開くたびに出るセキュリティ警告(コンテンツの有効化)の意味と、毎回の操作を省く正しい方法を解説。信頼センターで「信頼できる場所」にフォルダを登録する手順、ネットワークパスの注意、マクロ設定4段階と「全部有効化」が危険な理由。
結論:警告を毎回消すなら「信頼できる場所」の登録が現実的な選択肢
Accessを開くたびにリボン下の黄色いバー(メッセージバー)が出て、「セキュリティの警告:このデータベースの一部のコンテンツが無効にされました」という表示が繰り返される。その都度「コンテンツの有効化」を押すのが面倒で、ついマクロ設定を「すべて有効化」に切り替えたくなります。ただそれは確認なしにマクロが動く状態にすることで、Microsoftは「コンピューターが悪意のあるコードに対して脆弱になります」と明記してお勧めしていません。
自社で管理している場所にあるファイルを毎回開く場合の現実的な選択肢が、Accessファイルを置いているフォルダを「信頼できる場所(Trusted Locations)」として登録することです。ただし信頼できる場所に登録したフォルダ内のファイルはセキュリティ検証を迂回し、すべてのアクティブコンテンツが有効化されます。Microsoftも「稀な状況で、限定的に使うべき機能」と位置づけており、誰でも書き込めるフォルダを登録するのは避けてください。管理されているフォルダに絞った運用を前提に、以下の手順と注意点を説明します。
セキュリティ警告が出る理由
Accessはデフォルトで、開いたデータベースに含まれる「潜在的に安全でない操作」を無効にします。対象はVBAコード・Accessマクロ・アクションクエリ(追加・更新・削除・テーブル作成)・特定のマクロアクションなどです。Microsoftのサポートページ(Access 2016〜2024・Microsoft 365版対応)によると、どのバージョンで作成されたデータベースでも、開く側のAccessで同じ確認が行われます。データの閲覧は有効化なしでも続けられます。
警告バーの「コンテンツの有効化」ボタンを押すと、そのファイルは「信頼済みドキュメント」として記録され、次回以降も同じ場所にあれば警告は出なくなります。ファイルを別のフォルダへ移動した場合は再び確認が求められます。毎回警告が出るのは、ファイルを移動した・別のPCから開いた・ポリシーで信頼済みドキュメントが無効化されているなど、何らかの事情で信頼の記録が利いていないためです。信頼できる場所の登録はこれとは別の仕組みで、フォルダ単位で管理できるため複数のAccessファイルをまとめて扱う運用に向いています。
信頼できる場所の登録手順
手順はMicrosoftの公式ドキュメントに記載があります。Access 2016・2019・2021・2024・Microsoft 365版のいずれも同じ操作です。
- Accessを開き、「ファイル」タブをクリックする。
- 左側のメニューから「オプション」を選ぶ。
- 「Accessのオプション」ダイアログで、左ペインの「トラストセンター」をクリックする。
- 右ペインの「トラストセンターの設定」ボタンをクリックする。
- 左ペインの「信頼できる場所」を選ぶ。
- 「新しい場所の追加」をクリックし、登録したいフォルダのパスを入力するか「参照」で選択する。
- 必要に応じて「この場所のサブフォルダも信頼する」にチェックを入れる。
- 「OK」を3回押して設定を完了する。
登録後にそのフォルダ内のAccessファイルを開くと、メッセージバーは表示されなくなります。信頼判定によるブロックは解除されますが、アクセス権・参照設定・サンドボックスモードなど別の要因によるエラーは残ります。登録しても動かない場合は、別の原因を調べてください。
ネットワーク上の場所を信頼する場合の注意
社内ファイルサーバー(\\server\share\ のようなUNCパス)をAccessの保管場所にしている場合、注意が必要です。
Microsoft Learnの技術ドキュメントによると、ネットワーク上の場所は既定では信頼できる場所として使えません。トラストセンターの「信頼できる場所」の画面下部にある「ネットワーク上の信頼できる場所を許可する(推奨しません)」というチェックボックスをオンにしてはじめて、ネットワークパスを登録できます。Microsoftのセキュリティ基準ではこの設定を無効にすることを推奨しており、「推奨しません」という括弧書きも画面上に表示されます。
ネットワーク上の信頼できる場所が危険な理由は、登録したフォルダへの書き込み権限を持つ人なら誰でもAccessファイルを置けるからです。自分が意図していないファイルも、信頼できる場所に入ってしまえばマクロが無条件で動きます。共有フォルダを信頼できる場所に登録する場合は、フォルダへのアクセス権を絞り、読み取りが必要なユーザーには読み取り専用、ファイルを追加するユーザーにのみ書き込みを許可してください。
なお、ネットワーク上のAccessファイルを複数人で直接開く運用自体にも別のリスクがあります。この点は共有フォルダのaccdbを複数人で開く運用が危険な理由で詳しく説明しています。
マクロ設定の4段階と「全部有効化」が危険な理由
「信頼できる場所に登録するほどでもない」「テスト用のファイルを一時的に開きたいだけ」というケースもあります。そのときに確認しておきたいのがマクロ設定の4段階です。Microsoftのドキュメントには以下の4つが記載されています。
| 設定 | 動作 | 用途 |
|---|---|---|
| 通知なしですべてのマクロを無効にする | マクロを無効にし、マクロについての通知も出さない | マクロを一切使わない環境向け |
| 通知ありですべてのマクロを無効にする(既定) | マクロは無効だが警告は表示し、都度許可を求める | ユーザー設定の既定値 |
| デジタル署名されたマクロを除き、すべてのマクロを無効にする | 信頼できる発行者として登録済みの署名があるマクロのみ自動実行。未登録の発行者の場合は信頼するかどうかを確認するダイアログが出る | 署名管理が整っている組織向け |
| すべてのマクロを有効にする(非推奨) | 確認なしですべてのマクロが動く | Microsoftが「危険」と明記 |
ユーザー設定の既定は「通知ありですべてのマクロを無効にする」です。「全部有効化」に切り替えると、確認なしにマクロが動く状態になります。なおWindows版Microsoft 365 Appsでは、インターネット由来のファイル(Mark of the Web付き)のマクロは既定でブロックされますが、信頼できる場所にあるファイルはこの検査も迂回します。いずれにせよMicrosoftは「全部有効化」を明示的に非推奨とし、「コンピューターが悪意のあるコードに対して脆弱になります」と記載しています。
なお、Access固有の注意点として、他のOfficeアプリにある「VBAプロジェクトオブジェクトモデルへのアクセスを信頼する」オプションは、Accessには存在しません。
信頼済みドキュメントと信頼できる場所の違い
「コンテンツの有効化」を押すと、ファイルは「信頼済みドキュメント」としてPCに記録されます。次回同じ場所から開くときは警告が出なくなります。ファイルを別のフォルダへ移動した場合は記録が無効になり、再び確認が求められます。なお、Microsoftのドキュメントによると、一度信頼されたファイルは後からアクティブコンテンツが追加・変更されても再び警告が出ません。信頼した後のファイルの内容変化には注意が必要です。
「信頼できる場所」はフォルダ単位の設定で、複数のAccessファイルをひとつのフォルダにまとめている場合は管理しやすいです。ファイルを別のフォルダへ移動した場合は再び対象外になる点は同じで、保管フォルダを固定するのが前提です。ただし信頼できる場所に登録したフォルダ内のファイルはセキュリティ検証を迂回するため、そのフォルダへの書き込み権限を適切に絞ることがセットになります。
Access全体のセキュリティ設定を見直したいという方は、サポート切れAccessのセキュリティ対策も参考にしてください。セキュリティ更新が止まった環境でのリスク低減策を、優先度順にまとめています。
現在使っているAccessの状態について詳しく調べたい場合は、無料の解析可否チェックで解析できるかどうかだけでも確認できます。
よくある質問
Q. 「コンテンツの有効化」を毎回押せば、マクロ設定は変えなくていいですか?
同じファイルを毎回開くたびに警告が出る場合、「コンテンツの有効化」を押した後も信頼済みドキュメントとして記録されていない原因を先に調べてください。ファイルの移動・別PCでの利用・グループポリシーなどが原因として考えられます。信頼できる場所への登録は、複数のAccessファイルをひとつのフォルダで管理していて、フォルダごとまとめて扱いたい場合に向いています。ただし信頼できる場所に登録したフォルダのファイルはセキュリティ検証を迂回するため、書き込み権限の管理がより厳格に必要です。マクロ設定を「全部有効化」に変えるのは、安全性の面から避けてください。
Q. 信頼できる場所に登録したのに、まだ警告が出ます。
いくつか確認するポイントがあります。まず、登録したパスとファイルの実際の保存場所が完全に一致しているか確認してください。次に、ネットワークパスを登録した場合は「ネットワーク上の信頼できる場所を許可する」チェックが入っているか見てください。また、グループポリシーで「ユーザー定義の信頼できる場所を禁止」するポリシーが適用されていると、個人の設定が無効になります。社内の情報システム担当者に確認を取るのが確実です。サブフォルダを含む場合は「この場所のサブフォルダも信頼する」のチェックも忘れずに。
Q. 「無効モードによってブロックされました」「Action or event blocked by Disabled Mode」というエラーが出ます。
このエラーはデータベースが信頼されていない(Disabled Mode)状態で出ます。まずメッセージバーの「コンテンツの有効化」を押してください。信頼できる場所への登録でも解決できます。有効化後も同じメッセージが続く場合は、ポリシーで無効化されている・別のファイルを開いているなど、信頼の記録が適用されていない原因を確認してください。なお、Shell・Kill・CreateObjectなどのVBA関数をクエリ式やコントロールプロパティから呼び出しているケースでは、データベースを信頼した後もサンドボックスモードでブロックされます。サンドボックスモードによるブロックは、信頼できる場所の登録では解除されません。Accessのマクロ・VBAの実行の仕組みを確認したい場合は、AccessのマクロとVBAの違いと使い分け入門が参考になります。
Q. 信頼できる場所の設定は、複数のPCで共有できますか?
個人設定としてトラストセンターで登録した信頼できる場所は、そのPCのその利用者アカウントにのみ適用されます。複数PCや複数ユーザーに一括で展開したい場合は、グループポリシー(Active Directory環境)、Microsoft Intune、またはMicrosoft 365 AppsのCloud Policyが利用できます。Microsoft Learnの技術ドキュメントには「Trusted Location #1」ポリシーを使った展開手順が記載されています。
触れないAccessが「診断できるか」だけ、確かめませんか。
顧客データは送信不要。発注の義務もありません。
約2分・ファイル送信不要・発注義務なし/説明はオンライン・売り込みはしません