Office ドキュメントのマクロを有効または無効にする

この記事では、マクロのセキュリティ、マクロを有効化した場合のリスク、2007 Microsoft Office system のセキュリティ センターを使用した、このようなリスクの軽減方法について説明します。

Office 2010 の新機能

The Microsoft Office Blog (英語)

この記事の内容


マクロとセキュリティ上のリスクについて

マクロは頻繁に使用するタスクを自動化します。その多くは、VBA (Visual Basic for Applications (VBA): Microsoft Windows ベースのアプリケーションの作成に使用される Visual Basic のマクロ言語バージョン。いくつかの Microsoft プログラムで使用できます。) を使用して、ソフトウェア開発者によって作成されます。ただし、マクロの中には、セキュリティ上の問題を引き起こす可能性があるものもあります。悪意のあるユーザーがドキュメントまたはファイルに破壊的なマクロを導入し、コンピューターをウイルス (ウイルス: コンピューターのファイルに "感染" するプログラムまたはマクロ。感染したファイルがメモリに読み込まれると、ウイルスは他のファイルにも次々に感染していきます。いたずら程度のウィルスもあれば、大きな被害を及ぼすウィルスもあります。)に感染させる可能性があります。

ページの先頭へ ページの先頭へ

セキュリティ センターでマクロを有効または無効にする

マクロのセキュリティ設定はセキュリティ センターで行います。ただし、組織内で作業する場合、ユーザーが設定を変更できないようにシステム管理者が既定の設定を変更していることがあります。

 メモ   セキュリティ センターでマクロの設定を変更すると、現在使用している Office プログラムのみでマクロ設定が変更されます。すべての Office プログラムのマクロ設定が変更されるわけではありません。

プログラム別の設定方法


Access の場合

  1. ボタン イメージ (Microsoft Office ボタン) をクリックし、[Access のオプション] をクリックします。
  2. [セキュリティ センター] をクリックし、[セキュリティ センターの設定] をクリックして、[マクロの設定] をクリックします。
  3. 必要なオプションをクリックします。
    • [警告を表示せずにすべてのマクロを無効にする] マクロを信頼しない場合は、このオプションをクリックします。ドキュメント内のすべてのマクロと、マクロに関するセキュリティの警告が無効になります。信頼できるが、署名されていないマクロを含むドキュメントがある場合、それらのドキュメントを信頼できる場所に保存できます。信頼できる場所にあるドキュメントは、セキュリティ センターのセキュリティ システムによるチェックを行わずに実行できます。
    • [警告を表示してすべてのマクロを無効にする] これは既定の設定です。マクロを無効にし、マクロが含まれている場合にセキュリティの警告を表示する場合は、このオプションをクリックします。この方法では、状況に応じてマクロを有効にすることを選択できます。
    • [デジタル署名されたマクロを除き、すべてのマクロを無効にする] この設定は [警告を表示してすべてのマクロを無効にする] オプションと同じですが、発行元を信頼でき、信頼できる発行元によってマクロがデジタル署名されている場合は、マクロを実行できる点が異なります。発行元を信頼していない場合は警告が表示されます。この方法では、署名付きマクロを有効にしたり、発行元を信頼したりすることを選択できます。署名されていないマクロはすべて、警告なしで無効になります。
    • [すべてのマクロを有効にする (推奨しません。危険なコードが実行される可能性があります)] すべてのマクロを実行できるようにするには、このオプションをクリックします。この設定を使用すると、コンピューターが悪意のあるコードから攻撃を受ける可能性があるので、推奨されません。

ページの先頭へ ページの先頭へ

Excel の場合

  1. ボタン イメージ (Microsoft Office ボタン) をクリックし、[Excel のオプション] をクリックします。
  2. [セキュリティ センター] をクリックし、[セキュリティ センターの設定] をクリックして、[マクロの設定] をクリックします。
  3. 必要なオプションをクリックします。
    • [警告を表示せずにすべてのマクロを無効にする] マクロを信頼しない場合は、このオプションをクリックします。ドキュメント内のすべてのマクロと、マクロに関するセキュリティの警告が無効になります。信頼できるが、署名されていないマクロを含むドキュメントがある場合、それらのドキュメントを信頼できる場所に保存できます。信頼できる場所にあるドキュメントは、セキュリティ センターのセキュリティ システムによるチェックを行わずに実行できます。
    • [警告を表示してすべてのマクロを無効にする] これは既定の設定です。マクロを無効にし、マクロが含まれている場合にセキュリティの警告を表示する場合は、このオプションをクリックします。この方法では、状況に応じてマクロを有効にすることを選択できます。
    • [デジタル署名されたマクロを除き、すべてのマクロを無効にする] この設定は [警告を表示してすべてのマクロを無効にする] オプションと同じですが、発行元を信頼でき、信頼できる発行元によってマクロがデジタル署名されている場合は、マクロを実行できる点が異なります。発行元を信頼していない場合は警告が表示されます。この方法では、署名付きマクロを有効にしたり、発行元を信頼したりすることを選択できます。署名されていないマクロはすべて、警告なしで無効になります。
    • [すべてのマクロを有効にする (推奨しません。危険なコードが実行される可能性があります)] すべてのマクロを実行できるようにするには、このオプションをクリックします。この設定を使用すると、コンピューターが悪意のあるコードから攻撃を受ける可能性があるので、推奨されません。
    • [VBA プロジェクト オブジェクト モデルへのアクセスを信頼する]    この設定は開発者向けで、意図的にロックアウトする場合、または任意のオートメーション クライアントから VBA オブジェクト モデルへのプログラムによるアクセスを許可する場合に使用されます。つまり、Office プログラムを自動化し、Microsoft Visual Basic for Applications (VBA) 環境とオブジェクト モデルをプログラムによって操作するために作成されたコードに、セキュリティ オプションが提供されることになります。これはユーザー単位およびアプリケーション単位の設定であり、既定ではアクセスを拒否します。このセキュリティ オプションを使用すると、エンド ユーザー システムに影響を与える可能性のある "自己複製" コードを許可されていないプログラムが作成することが困難になります。任意のオートメーション クライアントから VBA オブジェクト モデルにプログラムによってアクセスできるように、コードを実行しているユーザーが明示的にアクセスを許可する必要があります。アクセスを有効にするには、このチェック ボックスをオンにします。

 ヒント   Microsoft Office Fluent ユーザー インターフェイスの一部であるリボンの [開発] タブから、マクロのセキュリティ設定ダイアログ ボックスを開くことができます。[開発] タブが表示されていない場合は、ボタン イメージ (Microsoft Office ボタン) をクリックして、[Excel のオプション] をクリックします。[基本設定] をクリックし、[[開発] タブをリボンに表示する] チェック ボックスをオンにします。

ページの先頭へ ページの先頭へ

Outlook の場合

  1. [ツール] メニューの [セキュリティ センター] をクリックします。
  2. [マクロの設定] をクリックします。
  3. 必要なオプションをクリックします。
    • [警告を表示せず、すべてのマクロを無効にする] マクロを信頼しない場合は、このオプションをクリックします。すべてのマクロと、マクロに関するセキュリティの警告が無効になります。
    • [署名されたマクロに対しては警告を表示し、署名されていないマクロはすべて無効にする] これは既定の設定で、[警告を表示してすべてのマクロを無効にする] オプションと同じですが、発行元を信頼でき、信頼できる発行元によってマクロがデジタル署名されている場合は、マクロを実行できる点が異なります。発行元を信頼していない場合は警告が表示されます。この方法では、署名付きマクロを有効にしたり、発行元を信頼したりすることを選択できます。署名されていないマクロはすべて、警告なしで無効になります。
    • [すべてのマクロに対して警告を表示する] マクロを無効にし、マクロが含まれている場合にセキュリティの警告を表示する場合は、このオプションをクリックします。この方法では、状況に応じてマクロを有効にすることを選択できます。
    • [マクロのセキュリティ チェックを行わない (推奨しません)] すべてのマクロを実行できるようにするには、このオプションをクリックします。この設定を使用すると、コンピューターが悪意のあるコードから攻撃を受ける可能性があるので、推奨されません。

ページの先頭へ ページの先頭へ

PowerPoint の場合

  1. ボタン イメージ (Microsoft Office ボタン) をクリックし、[PowerPoint のオプション] をクリックします。
  2. [セキュリティ センター] をクリックし、[セキュリティ センターの設定] をクリックして、[マクロの設定] をクリックします。
  3. 必要なオプションをクリックします。
    • [警告を表示せずにすべてのマクロを無効にする] マクロを信頼しない場合は、このオプションをクリックします。ドキュメント内のすべてのマクロと、マクロに関するセキュリティの警告が無効になります。信頼できるが、署名されていないマクロを含むドキュメントがある場合、それらのドキュメントを信頼できる場所に保存できます。信頼できる場所にあるドキュメントは、セキュリティ センターのセキュリティ システムによるチェックを行わずに実行できます。
    • [警告を表示してすべてのマクロを無効にする] これは既定の設定です。マクロを無効にし、マクロが含まれている場合にセキュリティの警告を表示する場合は、このオプションをクリックします。この方法では、状況に応じてマクロを有効にすることを選択できます。
    • [デジタル署名されたマクロを除き、すべてのマクロを無効にする] この設定は [警告を表示してすべてのマクロを無効にする] オプションと同じですが、発行元を信頼でき、信頼できる発行元によってマクロがデジタル署名されている場合は、マクロを実行できる点が異なります。発行元を信頼していない場合は警告が表示されます。この方法では、署名付きマクロを有効にしたり、発行元を信頼したりすることを選択できます。署名されていないマクロはすべて、警告なしで無効になります。
    • [すべてのマクロを有効にする (推奨しません。危険なコードが実行される可能性があります)] すべてのマクロを実行できるようにするには、このオプションをクリックします。この設定を使用すると、コンピューターが悪意のあるコードから攻撃を受ける可能性があるので、推奨されません。
    • [VBA プロジェクト オブジェクト モデルへのアクセスを信頼する]    この設定は開発者向けで、意図的にロックアウトする場合、または任意のオートメーション クライアントから VBA オブジェクト モデルへのプログラムによるアクセスを許可する場合に使用されます。つまり、Office プログラムを自動化し、Microsoft Visual Basic for Applications (VBA) 環境とオブジェクト モデルをプログラムによって操作するために作成されたコードに、セキュリティ オプションが提供されることになります。これはユーザー単位およびアプリケーション単位の設定であり、既定ではアクセスを拒否します。このセキュリティ オプションを使用すると、エンド ユーザー システムに影響を与える可能性のある "自己複製" コードを許可されていないプログラムが作成することが困難になります。任意のオートメーション クライアントから VBA オブジェクト モデルにプログラムによってアクセスできるように、コードを実行しているユーザーが明示的にアクセスを許可する必要があります。アクセスを有効にするには、このチェック ボックスをオンにします。

 ヒント   Microsoft Office Fluent ユーザー インターフェイスの一部であるリボンの [開発] タブから、マクロのセキュリティ設定ダイアログ ボックスを開くことができます。[開発] タブが表示されていない場合は、ボタン イメージ (Microsoft Office ボタン) をクリックして、[PowerPoint のオプション] をクリックします。[基本設定] をクリックし、[[開発] タブをリボンに表示する] チェック ボックスをオンにします。

ページの先頭へ ページの先頭へ

Publisher の場合

  1. [ツール] メニューの [セキュリティ センター] をクリックします。
  2. [マクロの設定] をクリックします。
  3. 必要なオプションをクリックします。
    • [警告を表示せずにすべてのマクロを無効にする] マクロを信頼しない場合は、このオプションをクリックします。ドキュメント内のすべてのマクロと、マクロに関するセキュリティの警告が無効になります。信頼できるが、署名されていないマクロを含むドキュメントがある場合、それらのドキュメントを信頼できる場所に保存できます。信頼できる場所にあるドキュメントは、セキュリティ センターのセキュリティ システムによるチェックを行わずに実行できます。
    • [警告を表示してすべてのマクロを無効にする] これは既定の設定です。マクロを無効にし、マクロが含まれている場合にセキュリティの警告を表示する場合は、このオプションをクリックします。この方法では、状況に応じてマクロを有効にすることを選択できます。
    • [デジタル署名されたマクロを除き、すべてのマクロを無効にする] この設定は [警告を表示してすべてのマクロを無効にする] オプションと同じですが、発行元を信頼でき、信頼できる発行元によってマクロがデジタル署名されている場合は、マクロを実行できる点が異なります。発行元を信頼していない場合は警告が表示されます。この方法では、署名付きマクロを有効にしたり、発行元を信頼したりすることを選択できます。署名されていないマクロはすべて、警告なしで無効になります。
    • [すべてのマクロを有効にする (推奨しません。危険なコードが実行される可能性があります)] すべてのマクロを実行できるようにするには、このオプションをクリックします。この設定を使用すると、コンピューターが悪意のあるコードから攻撃を受ける可能性があるので、推奨されません。
    • [VBA プロジェクト オブジェクト モデルへのアクセスを信頼する]    この設定は開発者向けで、意図的にロックアウトする場合、または任意のオートメーション クライアントから VBA オブジェクト モデルへのプログラムによるアクセスを許可する場合に使用されます。つまり、Office プログラムを自動化し、Microsoft Visual Basic for Applications (VBA) 環境とオブジェクト モデルをプログラムによって操作するために作成されたコードに、セキュリティ オプションが提供されることになります。これはユーザー単位およびアプリケーション単位の設定であり、既定ではアクセスを拒否します。このセキュリティ オプションを使用すると、エンド ユーザー システムに影響を与える可能性のある "自己複製" コードを許可されていないプログラムが作成することが困難になります。任意のオートメーション クライアントから VBA オブジェクト モデルにプログラムによってアクセスできるように、コードを実行しているユーザーが明示的にアクセスを許可する必要があります。アクセスを有効にするには、このチェック ボックスをオンにします。

ページの先頭へ ページの先頭へ

Visio の場合

  1. [ツール] メニューの [セキュリティ センター] をクリックします。
  2. [マクロの設定] をクリックします。
  3. 必要なオプションをクリックします。
    • [警告を表示せずにすべてのマクロを無効にする] マクロを信頼しない場合は、このオプションをクリックします。ドキュメント内のすべてのマクロと、マクロに関するセキュリティの警告が無効になります。信頼できるが、署名されていないマクロを含むドキュメントがある場合、それらのドキュメントを信頼できる場所に保存できます。信頼できる場所にあるドキュメントは、セキュリティ センターのセキュリティ システムによるチェックを行わずに実行できます。
    • [警告を表示してすべてのマクロを無効にする] これは既定の設定です。マクロを無効にし、マクロが含まれている場合にセキュリティの警告を表示する場合は、このオプションをクリックします。この方法では、状況に応じてマクロを有効にすることを選択できます。
    • [デジタル署名されたマクロを除き、すべてのマクロを無効にする] この設定は [警告を表示してすべてのマクロを無効にする] オプションと同じですが、発行元を信頼でき、信頼できる発行元によってマクロがデジタル署名されている場合は、マクロを実行できる点が異なります。発行元を信頼していない場合は警告が表示されます。この方法では、署名付きマクロを有効にしたり、発行元を信頼したりすることを選択できます。署名されていないマクロはすべて、警告なしで無効になります。
    • [すべてのマクロを有効にする (推奨しません。危険なコードが実行される可能性があります)] すべてのマクロを実行できるようにするには、このオプションをクリックします。この設定を使用すると、コンピューターが悪意のあるコードから攻撃を受ける可能性があるので、推奨されません。
    • [VBA プロジェクト オブジェクト モデルへのアクセスを信頼する]    この設定は開発者向けで、意図的にロックアウトする場合、または任意のオートメーション クライアントから VBA オブジェクト モデルへのプログラムによるアクセスを許可する場合に使用されます。つまり、Office プログラムを自動化し、Microsoft Visual Basic for Applications (VBA) 環境とオブジェクト モデルをプログラムによって操作するために作成されたコードに、セキュリティ オプションが提供されることになります。これはユーザー単位およびアプリケーション単位の設定であり、既定ではアクセスを拒否します。このセキュリティ オプションを使用すると、エンド ユーザー システムに影響を与える可能性のある "自己複製" コードを許可されていないプログラムが作成することが困難になります。任意のオートメーション クライアントから VBA オブジェクト モデルにプログラムによってアクセスできるように、コードを実行しているユーザーが明示的にアクセスを許可する必要があります。アクセスを有効にするには、このチェック ボックスをオンにします。

ページの先頭へ ページの先頭へ

Word の場合

  1. ボタン イメージ (Microsoft Office ボタン) をクリックし、[Word のオプション] をクリックします。
  2. [セキュリティ センター] をクリックし、[セキュリティ センターの設定] をクリックして、[マクロの設定] をクリックします。
  3. 必要なオプションをクリックします。
    • [警告を表示せずにすべてのマクロを無効にする] マクロを信頼しない場合は、このオプションをクリックします。ドキュメント内のすべてのマクロと、マクロに関するセキュリティの警告が無効になります。信頼できるが、署名されていないマクロを含むドキュメントがある場合、それらのドキュメントを信頼できる場所に保存できます。信頼できる場所にあるドキュメントは、セキュリティ センターのセキュリティ システムによるチェックを行わずに実行できます。
    • [警告を表示してすべてのマクロを無効にする] これは既定の設定です。マクロを無効にし、マクロが含まれている場合にセキュリティの警告を表示する場合は、このオプションをクリックします。この方法では、状況に応じてマクロを有効にすることを選択できます。
    • [デジタル署名されたマクロを除き、すべてのマクロを無効にする] この設定は [警告を表示してすべてのマクロを無効にする] オプションと同じですが、発行元を信頼でき、信頼できる発行元によってマクロがデジタル署名されている場合は、マクロを実行できる点が異なります。発行元を信頼していない場合は警告が表示されます。この方法では、署名付きマクロを有効にしたり、発行元を信頼したりすることを選択できます。署名されていないマクロはすべて、警告なしで無効になります。
    • [すべてのマクロを有効にする (推奨しません。危険なコードが実行される可能性があります)] すべてのマクロを実行できるようにするには、このオプションをクリックします。この設定を使用すると、コンピューターが悪意のあるコードから攻撃を受ける可能性があるので、推奨されません。
    • [VBA プロジェクト オブジェクト モデルへのアクセスを信頼する]    この設定は開発者向けで、意図的にロックアウトする場合、または任意のオートメーション クライアントから VBA オブジェクト モデルへのプログラムによるアクセスを許可する場合に使用されます。つまり、Office プログラムを自動化し、Microsoft Visual Basic for Applications (VBA) 環境とオブジェクト モデルをプログラムによって操作するために作成されたコードに、セキュリティ オプションが提供されることになります。これはユーザー単位およびアプリケーション単位の設定であり、既定ではアクセスを拒否します。このセキュリティ オプションを使用すると、エンド ユーザー システムに影響を与える可能性のある "自己複製" コードを許可されていないプログラムが作成することが困難になります。任意のオートメーション クライアントから VBA オブジェクト モデルにプログラムによってアクセスできるように、コードを実行しているユーザーが明示的にアクセスを許可する必要があります。アクセスを有効にするには、このチェック ボックスをオンにします。

 ヒント   Microsoft Office Fluent ユーザー インターフェイスの一部であるリボンの [開発] タブから、マクロのセキュリティ設定ダイアログ ボックスを開くことができます。[開発] タブが表示されていない場合は、ボタン イメージ (Microsoft Office ボタン) をクリックして、[Word のオプション] をクリックします。[基本設定] をクリックし、[[開発] タブをリボンに表示する] チェック ボックスをオンにします。

ページの先頭へ ページの先頭へ

セキュリティ センターを使用して安全でないマクロから保護する方法

ドキュメント内のマクロを有効にする前に、セキュリティ センターで次の情報が確認されます。

いずれかに該当する問題がセキュリティ センターで検出されると、既定では、マクロが無効になり、マクロが安全でない可能性があることを示すメッセージがメッセージ バーに表示されます。

メッセージ バー

マクロを有効にするには、メッセージ バーの [オプション] をクリックし、セキュリティ ダイアログ ボックスを表示します。マクロおよびセキュリティに関する判断の詳細については、次のセクションを参照してください。

 メモ   Microsoft Office Outlook 2007 および Microsoft Office Publisher 2007 では、セキュリティの警告はメッセージ バーではなく、ダイアログ ボックスに表示されます。

ページの先頭へ ページの先頭へ

マクロを有効または無効にするかどうか確認するセキュリティ警告が表示された場合の 対処方法

[セキュリティ オプション] ダイアログが表示されたときに、マクロを有効にしたり、無効のままにしたりすることができます。マクロが信頼できる発行元からのものであることが確実である場合は、マクロを有効にしてください。

Microsoft Office のセキュリティに関するオプション

 重要   ドキュメントとマクロに有効な署名があり、発行元を信頼できる場合に、セキュリティ センターで設定する既定のセキュリティ レベルを下げずに同じドキュメントとマクロについてセキュリティ警告を再度表示しないようにするには、セキュリティ ダイアログ ボックスの [この発行者のドキュメントをすべて信頼する] をクリックします。これにより、発行元がセキュリティ センターの信頼できる発行元の一覧に追加されます。その発行元からのすべてのソフトウェアは信頼されます。マクロに有効な署名がないが、信頼できる場合に、セキュリティ センターで設定する既定のセキュリティ レベルを下げずに、そのマクロについてセキュリティ警告を再度表示しないようにするには、ファイルを信頼できる場所へ移動します。信頼できる場所にあるドキュメントは、セキュリティ センターのセキュリティ システムによるチェックを行わずに実行できます。

セキュリティ ダイアログ ボックスには、状況に応じて具体的な問題が表示されます。次の表に、起こり得る問題とそれぞれへの対処方法に関するアドバイスを示します。

問題 アドバイス
マクロに署名がない    マクロにデジタル署名がないため、マクロ発行者の身元を確認できません。したがって、マクロが安全かどうかを確認することはできません。 署名のないマクロを有効にする前に、そのマクロが信頼できる発行元からのものであることを確認します。マクロを有効にしなくても、ドキュメントを使用することができます。
マクロの署名を信頼できない    マクロにデジタル署名が追加され、署名が有効であるにもかかわらず、マクロに署名した発行元を信頼できないので、そのマクロは安全でない可能性があります。 セキュリティ ダイアログ ボックスの [この発行者のドキュメントをすべて信頼する] をクリックすると、マクロ開発者を明示的に信頼 (信頼: 証明書の発行先となる個人または組織を信頼するかどうかを示します。既定では、発行元からの信頼を継承する設定になっています。つまり、発行元 (通常、証明機関) が信頼されている場合は、証明書を信頼します。)できます。このオプションは、署名が有効な場合にのみ表示されます。このオプションをクリックすると、発行元がセキュリティ センターの信頼できる発行元の一覧に追加されます。
マクロの署名が有効でない    マクロにデジタル署名がありますが、署名は無効であるため、そのマクロは安全でない可能性があります。 署名が無効なマクロを有効にすることはお勧めしません。署名が無効である理由の 1 つとして、署名が改ざんされている可能性があります。詳細については、「デジタル署名の信頼性を確認する方法」を参照してください。
マクロの署名の有効期限が切れている    マクロにデジタル署名がありますが、署名が期限切れであるため、そのマクロは安全でない可能性があります。 有効期限切れの署名が追加されたマクロを有効にする前に、そのマクロが信頼できる発行元からのものであることを確認します。以前にこのドキュメントを使用したときにセキュリティ上の問題がなかった場合は、マクロを有効にしてもリスクは少ないでしょう。
 
 
適用対象:
Access 2007, Excel 2007, InfoPath 2007, PowerPoint 2007, Publisher 2007, Visio 2007, Word 2007