現象
Office アプリケーションを自動化し、プログラムによって Microsoft Visual Basic for Applications (VBA) 環境とオブジェクト モデルを操作するように記述されたコードは、次のいずれかのエラー メッセージで Office で失敗する可能性があります。Visual Basic または VBA から。
実行時エラー '6068': Visual Basic プロジェクトへのプログラムによるアクセスが信頼されていません
Microsoft Visual C++、Microsoft Foundation クラス (MFC)、または ActiveX テンプレート ライブラリ (ATL) から:
HRESULT = 0x800A17B4 (-2146822220) "Visual Basic プロジェクトへのプログラムによるアクセスが信頼されていません"
同じコードは、Office 97 と Office 2000 のコンピューターでエラーなしで動作します。
原因
Office では、ユーザーがそのようなアクセスを許可することを選択しない限り、任意の Automation クライアントから VBA オブジェクト モデルへのプログラムによるアクセスを意図的にロックアウトするセキュリティ オプションを追加します。 これはユーザーごととアプリケーションごとの設定であり、既定ではアクセスを拒否します。 このセキュリティ オプションを使用すると、承認されていないプログラムが、エンド ユーザー システムに損害を与える可能性のある "自己レプリケート" コードを構築することが困難になります。
解決方法
任意の Automation クライアントが VBA オブジェクト モデルにプログラムでアクセスできるようにするには、コードを実行しているユーザーが明示的にアクセス権を付与する必要があります。 アクセスを有効にするには、ユーザーは次の手順に従う必要があります。
Office 2003 と Office XP
-
対象の Office 2003 または Office XP アプリケーションを開きます。 [ツール] メニューの [マクロ] をクリックし、[セキュリティ] をクリックして [マクロ のセキュリティ] ダイアログ ボックスを開きます。
-
[信頼されたソース] タブで、[Visual Basic Project チェック へのアクセスを信頼する] ボックスをクリックしてアクセスを有効にします。
-
[OK] をクリックして設定を適用します。 コンポーネント オブジェクト モデル (COM) アドインまたはテンプレートから自動化する場合は、コードを正常に実行するためにアプリケーションを再起動する必要がある場合があります。
Office 2007
-
問題の 2007 Microsoft Office システム アプリケーションを開きます。 [Microsoft Office] ボタンをクリックし、[アプリケーション オプションクリックします。
-
[セキュリティ センター] タブをクリックし、[トラスト センターの設定] をクリック。
-
[マクロ設定] タブをクリックして、[VBA プロジェクト オブジェクト モデルへのアクセスを信頼する] チェック ボックスを選択し、[OK] をクリックします。
-
[OK] をクリックします。