データ ファイルにリンクしている Word 差し込み印刷のメイン文書を開くと "この文書を開くと、次の SQL コマンドが実行されます" というメッセージが表示される


重要 : この資料には、レジストリの編集方法が記載されています。万一に備えて、編集の前には必ずレジストリをバックアップし、レジストリの復元方法を理解しておいてください。バックアップ、復元、および編集方法の詳細を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。

256986 Microsoft Windows レジストリの説明


重要 : この資料には、コンピュータのセキュリティ設定を低くする方法、またはコンピュータのセキュリティ機能を無効にする方法が記載されています。これらの変更によって特定の問題を回避できますが、これらの変更を行う前に、記載された回避策を現在の環境に使用した場合の危険性を評価することをお勧めします。この資料の回避策の使用を決定した場合は、記載されている手順以外にも、システムを保護するための適切な手順を実行してください。

現象


Microsoft Office Word で差し込み印刷のメイン文書を開くと、以下のいずれかの現象が発生します。

  • 次のメッセージが表示されます。

    この文書を開くと、次の SQL コマンドが実行されます:
    SELECT * FROM your datasource
    データベースからのデータが、文書に挿入されます。続行しますか?
    : [はい] をクリックすると、差し込み印刷のメイン文書は、データ ファイルが添付された状態で開きます。[いいえ] をクリックすると、差し込み印刷のメイン文書は、データ ファイルが添付されていない状態で開きます。



    Microsoft Office Word 2007 では、メッセージが表示されている間に、以下の操作を実行します。

    • 表示されたメッセージに関連付けられている固有の番号を確認するには、Ctrl + Shift + I キーを押します。以下の番号が、このメッセージの右下に表示されます。

      201235
  • Microsoft Visual Basic for Applications (VBA) を使用して開いた差し込み印刷のメイン文書に、データ ファイルが添付されません。

: この資料に示す現象が発生する場合は、Microsoft Access や Microsoft Visual FoxPro などのプログラムを使用して、差し込み印刷のメイン文書ファイルをプログラムから開いている可能性があります。

原因


「現象」に示したメッセージは仕様です。



このメッセージは Microsoft Office のすべての新しいバージョンに存在し、Office XP Service Pack 3 で初めて導入されました。このメッセージは、差し込み印刷のセキュリティを強化するために、この資料の対象製品として記載されている製品に追加されました。メッセージが表示されたときに [はい] をクリックすると、コンピュータ上でコードが実行されます。悪意のあるユーザーが作成した SQL クエリによって、ユーザーがアクセス可能なデータが盗まれたり破壊されたりするおそれがあります。メッセージが表示されたときに [いいえ] をクリックすると、コードは実行されません。



: VBA で DisplayAlerts=none と設定すると、VBA を使用してファイルを開いたときにこのメッセージは表示されませんが、[いいえ] オプションを使用して文書を開くため、差し込み印刷のメイン文書にデータがまったく添付されません。

回避策


警告 : この資料に記載された回避策を適用することにより、悪意のあるユーザーやウイルスなど悪質なソフトウェアによる攻撃をコンピュータまたはネットワークが受けやすくなる場合があります。この資料の情報は、ユーザーが記載されている回避策を自己の判断で使用することを前提に提供されているものであり、この回避策をお勧めするものではありません。この回避策は、自己の責任においてご使用ください。



警告 : レジストリ エディタまたは別の方法を使用してレジストリを誤って変更すると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要になることがあります。マイクロソフトは、レジストリの変更により発生した問題に関しては、一切責任を負わないものとします。レジストリの変更は、自己の責任において行ってください。



この資料に示す免責事項を読んで理解しており、かつ差し込み印刷を使用して開く文書の作成元が信頼できる場合は、「現象」で説明した動作を回避できます。



この動作を回避するには、SQLSecurityCheck レジストリ キーを使用してセキュリティ メッセージを無効にします。



SQLSecurityCheck レジストリ キーを使用してセキュリティ メッセージを無効にするには、使用している Microsoft Word のバージョンに応じた手順を実行します。

Word 2007

HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Options


"SQLSecurityCheck"=dword:00000000
  1. レジストリ エディタを起動します。

  2. 次のレジストリ キーを見つけてクリックします。

    HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Options
  3. [編集] メニューの [新規] をポイントし、[DWORD 値] をクリックします。

  4. [名前] に次のように入力します。

    SQLSecurityCheck
  5. [SQLSecurityCheck] をダブルクリックします。

  6. [値のデータ] ボックスに、次のように入力します。

    00000000
  7. [OK] をクリックします。

Word 2003

HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Word\Options


"SQLSecurityCheck"=dword:00000000
  1. レジストリ エディタを起動します。

  2. 次のレジストリ キーを見つけてクリックします。

    HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Word\Options
  3. [編集] メニューの [新規] をクリックし、[DWORD 値] をクリックします。

  4. [名前] に次のように入力します。

    SQLSecurityCheck
  5. [SQLSecurityCheck] をダブルクリックします。

  6. [値のデータ] ボックスに、次のように入力します。

    00000000
  7. [OK] をクリックします。

Word 2002 Service Pack 3

HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Word\Options


"SQLSecurityCheck"=dword:00000000

レジストリ値を作成するには、次の手順を実行します。

  1. レジストリ エディタを起動します。

  2. 次のレジストリ キーを見つけてクリックします。

    HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Word\Options
  3. [編集] メニューの [新規] をクリックし、[DWORD 値] をクリックします。

  4. [名前] に次のように入力します。

    SQLSecurityCheck
  5. [SQLSecurityCheck] をダブルクリックします。

  6. [値のデータ] ボックスに、次のように入力します。

    00000000
  7. [OK] をクリックします。

状況


この動作は仕様です。