Microsoft Office Excel では、マクロのセキュリティ設定を変更して、ブックを開いたときに実行するマクロと実行環境を制御できます。たとえば、信頼できる開発者によってデジタル署名されているかどうかに基づいてマクロを実行できます。
Microsoft Office ドキュメントのマクロのセキュリティ設定の詳細については、「Office ドキュメントのマクロを有効または無効にする」を参照してください。
この記事の内容
マクロのセキュリティ設定とそれらの効果
ここでは、マクロのさまざまなセキュリティ設定の概要を説明します。いずれの設定でも、2007 Microsoft Office system と連動するウイルス対策ソフトウェアがインストールされていれば、マクロが含まれたブックを開く前にブックがスキャンされ、既知のウイルスに感染していないかどうかが調べられます。
- [警告を表示せずにすべてのマクロを無効にする] マクロを信頼しない場合は、このオプションをクリックします。ドキュメント内のすべてのマクロと、マクロに関するセキュリティの警告が無効になります。信頼できる署名されていないマクロが含まれたドキュメントがある場合は、それらのドキュメントを信頼できる場所に配置できます。信頼できる場所にあるドキュメントは、セキュリティ センターのセキュリティ システムによるチェックを行わずに実行できます。
- [警告を表示してすべてのマクロを無効にする] これは既定の設定です。マクロを無効にし、マクロが含まれている場合にセキュリティの警告を表示する場合は、このオプションをクリックします。この方法では、状況に応じてマクロを有効にすることを選択できます。
- [デジタル署名されたマクロを除き、すべてのマクロを無効にする] この設定は、マクロが信頼できる発行元によってデジタル署名されている場合に、その発行元を既に信頼していればマクロを実行できるという点を除き、[警告を表示してすべてのマクロを無効にする] オプションと同じです。発行元を信頼していない場合は通知されます。この方法では、署名付きマクロを有効にしたり、発行元を信頼したりすることを選択できます。署名されていないマクロはすべて、通知なしで無効になります。
- [すべてのマクロを有効にする (推奨しません。危険なコードが実行される可能性があります)] すべてのマクロを実行できるようにする場合は、このオプションをクリックします。この設定を使用すると、悪意のあるおそれがあるコードに対してコンピュータが脆弱になるため、この設定は推奨されません。
- [VBA プロジェクト オブジェクト モデルへのアクセスを信頼する] これは開発者向けの設定です。オートメーション クライアントから VBA オブジェクト モデルへのプログラムによるアクセスを意図的にロックアウトまたは許可するときに使用します。つまり、この設定は、Office プログラムを自動化し、Microsoft Visual Basic for Applications (VBA) 環境とオブジェクト モデルをプログラムによって操作するために記述されたコードのセキュリティ オプションを提供します。これはユーザー単位およびアプリケーション単位の設定であり、既定でアクセスは拒否されます。このセキュリティ オプションにより、許可されていないプログラムがエンド ユーザーのシステムに損害を与えるおそれのある "自己複製コード" を組み込むことが困難になります。オートメーション クライアントが VBA オブジェクト モデルにプログラムによってアクセスできるようにするには、コードを実行するユーザーがアクセスを明示的に許可する必要があります。アクセスを有効にするには、このチェック ボックスをオンにします。
ページの先頭へ
マクロのセキュリティ設定を変更する
マクロのセキュリティ設定は、セキュリティ センターで変更できます (ただし、ユーザーが設定を変更できないように、組織のシステム管理者が既定の設定を変更している場合を除きます)。
- [開発] タブの [コード] で [マクロのセキュリティ] をクリックします。
ヒント [開発] タブが表示されていない場合は、
(Microsoft Office ボタン) をクリックし、[Excel のオプション] をクリックして、[基本設定] カテゴリにある [Excel の使用に関する基本オプション] の [[開発] タブをリボンに表示する] をクリックします。
- [マクロの設定] カテゴリの [マクロの設定] で、必要なオプションをクリックします。
メモ Excel の [マクロの設定] カテゴリで加えた変更は Excel にのみ適用され、他の Microsoft Office プログラムには影響しません。
ヒント [Excel のオプション] ダイアログ ボックスで、セキュリティ センターにアクセスすることもできます。
(Microsoft Office ボタン) をクリックし、[Excel のオプション] をクリックします。[セキュリティ センター] カテゴリにある [セキュリティ センターの設定] をクリックし、[マクロの設定] カテゴリをクリックします。
ページの先頭へ
デジタル署名を使用する
2007 Office リリース では、Authenticode 技術により、マクロ作成者がファイルまたはマクロ プロジェクト (マクロ プロジェクト : マクロを構成するフォーム、コード、クラス モジュールなどのコンポーネントの集まり。Visual Basic for Applications で作成したマクロ プロジェクトは、アドインやほとんどの Office アプリケーションに含めることができます。)にデジタル署名 (デジタル署名 : 安全性を高めるため電子的に暗号化した署名。ドキュメントの認証に使用します。デジタル署名により、マクロまたはドキュメントが署名した本人のものであること、およびマクロが改竄されていないことが証明されます。)を添付できるようになっています。この署名の作成に使用された証明書によって、署名者がそのマクロまたはドキュメントを作成したこと、およびマクロまたはドキュメントが変更されていないことが保証されます。
デジタル証明書 (デジタル証明書 : ファイル、マクロ プロジェクト、または電子メール メッセージに添付され、その信頼性を保証し、安全な暗号化を提供し、照合可能な署名を供給します。マクロ プロジェクトにデジタル署名を付けるには、デジタル証明書をインストールする必要があります。)をインストールすると、ファイルとマクロ プロジェクトに署名できるようになります。
署名用のデジタル証明書を取得する
デジタル証明書は、商用の証明機関 (CA) (証明機関 (CA) : 一般企業。デジタル証明書の発行、証明書の割当先の管理、証明書を有効にするための証明書への署名、取り消されたか、または有効期限が切れた証明書の管理を行います。) または組織内のセキュリティ管理者や情報技術 (IT) 部門から入手できます。
Microsoft 製品のサービスを提供する証明機関の詳細については、「Microsoft Root Certificate Program Members」の一覧を参照してください。
自己署名用の独自のデジタル証明書を作成する
Selfcert.exe ツールを使用して、独自の自己署名証明書を作成することもできます。
メモ ユーザーが作成するデジタル証明書は、正式な証明機関から発行されるものではないため、そのような証明を使って署名されたマクロ プロジェクトは自己署名のプロジェクトとして扱われます。Microsoft Office で自己署名証明書が信頼されるのは、その証明書が個人証明書ストアに含まれている場合のみです。
マクロにデジタル署名する方法の詳細については、「マクロ プロジェクトにデジタル署名を追加する」を参照してください。
ページの先頭へ