InfoPath で CreateObject 関数または ActiveXObject 関数のスクリプト エラーが発生する

文書翻訳 文書翻訳
文書番号: 832512 - 対象製品
すべて展開する | すべて折りたたむ

現象

Microsoft VBScript で CreateObject 関数を使用するか、Microsoft JScript で ActiveXObject 関数を使用すると、ActiveX コンポーネントのインスタンスを作成することができます。Microsoft Office InfoPath 2003 フォームの関数呼び出しのスクリプト モジュールで、ActiveX コンポーネントのインスタンスを作成する際に、次のいずれかのエラー メッセージが表示されることがあります。
オートメーション サーバーはオブジェクトを作成できません。
ActiveX コンポーネントはオブジェクトを作成できません。

原因

InfoPath フォームは、常にインターネット セキュリティ ゾーンのコンテキスト内で実行されます。インターネット セキュリティ ゾーンではフォームのスクリプトで実行できる操作と実行できない操作が定義されています。通常このエラーは、フォームが実行されるインターネット セキュリティ ゾーンで "スクリプトを実行しても安全だとマークされていない ActiveX コントロールの初期化とスクリプトの実行" が無効になっているため、ActiveX コンポーネントの作成が許可されない場合に発生します。このオプションは、悪意のあるスクリプトやデータを受け取った場合に、このコンポーネントによるシステムへの損害がないことをコントロールの作成者が保証できないことを意味します。

自分のコンピュータ上のリソースに対してフォームが持つアクセス許可のレベルに、セキュリティ ゾーンがどのように影響するかの詳細については、[ヘルプ] メニューの [Microsoft Office InfoPath ヘルプ] または [Office InfoPath 2007 ヘルプ] をクリックし、[検索] ボックスにセキュリティ ゾーンについてと入力し、[検索開始] をクリックして表示されるトピックを参照してください。
関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
216434 [INFO] Internet Explorer における、ActiveX コントロールが安全かどうかの判断方法

解決方法

InfoPath フォームでこの問題を回避するには、以下の方法のいずれかを使用します。
  • フォームを完全に信頼された URN ベースのフォームにする
  • InfoPath フォームをホストするサーバーの URL を、Microsoft Internet Explorer の信頼済みサイトの一覧に追加する
  • フォーム テンプレートにデジタル署名する (InfoPath 2003 Service Pack 1 に適用)

フォームを完全に信頼された URN ベースのフォームにする

完全に信頼された URN ベースのフォームを、カスタム インストール スクリプトまたは Microsoft System Installer パッケージを使用してコンピュータにインストールする必要があります。これによって、"スクリプトを実行しても安全だとマークされていない ActiveX コントロールの初期化とスクリプトの実行" が無効になっている場合でも、ActiveX コンポーネントが作成されます。

手動で標準のフォームを URN ベースのフォームに変換できますが、手動で変換する作業は繁雑であるためエラーが発生しやすくなります。InfoPath ソフトウェア開発キット (SDK) に含まれる、コマンド ラインのフォーム登録ツールである RegForm.exe ツールを使用して、この変換を行うことができます。RegForm.exe ツールはフォーム定義ファイルおよび XML テンプレート ファイルに対して必要な変更を行います。次に、ファイルを .xsn ファイルに再びパッケージ化し、変更したフォーム テンプレートをインストールするためのカスタム インストール プログラムを作成します。

InfoPath 2003 SDK のダウンロード方法の詳細については、次のマイクロソフト Web サイトを参照してください。
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=351f0616-93aa-4fe8-9238-d702f1bfbab4
InfoPath 2003 SDK はデフォルトで C:\Program Files\Microsoft Office 2003 Developer Resources\Microsoft Office InfoPath 2003 SDK\Tools にインストールされます。

コマンド ライン オプションを表示するには、コマンド ウィンドウで次のコマンド ラインを入力します。
regform /?
コマンド ラインでは /U スイッチと /T スイッチを使用できます。/U スイッチでは、フォーム テンプレートに使用する URN を指定します。/T スイッチを指定すると、フォーム テンプレートが完全に信頼されます。このスイッチにより、フォーム定義 (.xsf) ファイルの requireFullTrust 属性が Yes に設定されます。

次のコマンド ラインでは、変換するテンプレートとして .js ファイルと .bak ファイルが同じフォルダ内に生成されます。
regform /U urn:MyForm:MyCompany /T Yes C:\MyForms\MyTrustedForm.xsn
.bak ファイルは、URN ベースの変更が行われる前の元のフォーム テンプレート ファイルのコピーです。.js ファイルは URN ベースのフォームをインストールするために使用するスクリプト ファイルです。

.js スクリプトを実行するには、コマンド ラインで次のコードを入力し、Enter キーを押します。
Cscript <full path of your .js file>
URN ベースのフォーム、または RegForm.exe ツールの詳細については、InfoPath 2003 SDK 日本語ヘルプで「フォーム登録ツールの使用」を参照してください。

InfoPath 2007 および InfoPath 2007 SDK の詳細については、次のマイクロソフト Web サイトを参照してください。
http://office.microsoft.com/ja-jp/infopath/FX100647031041.aspx?CTT=96&Origin=CL100607051041

InfoPath フォームをホストするサーバーの URL を、Microsoft Internet Explorer の信頼済みサイトの一覧に追加する

InfoPath フォームをホストするサーバーの URL を信頼済みサイトに追加すると、コードの実行時に次のメッセージが表示されます。
このページの ActiveX コントロールは、安全でない可能性があり、ページのほかの部分に影響する可能性があります。ほかの部分に影響しても問題ありませんか?
[はい] をクリックすると、コードが実行されます。[いいえ] をクリックすると、「現象」に記載したエラー メッセージが表示されることがあり、コードは実行されません。

信頼済みのサイトを追加するには、以下の手順を実行します。
  1. Internet Explorer を起動します。
  2. [ツール] メニューの [インターネット オプション] をクリックします。
  3. [インターネット オプション] ダイアログ ボックスの [セキュリティ] タブをクリックします。
  4. [セキュリティ] タブの [信頼済みサイト] をクリックします。
  5. [サイト] をクリックします。
  6. [次の Web サイトをゾーンに追加する] ボックスに、InfoPath フォームをホストするサーバーの URL を入力します。

    たとえば InfoPath フォームをホストするサーバーの名前が MyServer とすると、テキスト ボックスに入力する URL は http://MyServer です。
  7. [追加] をクリックします。

    入力したサイトが [Web サイト] ボックスの一覧に追加されます。
  8. [信頼済みサイト] ダイアログ ボックスの [閉じる] をクリックし、[インターネット オプション] ダイアログ ボックスの [OK] をクリックします。

    変更がコミットされ、ダイアログ ボックスが閉じます。

フォーム テンプレートにデジタル署名する

この説明は、InfoPath 2003 Service Pack 1 に適用されます。信頼済みの証明書を使用してフォーム テンプレートにデジタル署名すると、フォーム テンプレートのセキュリティ レベルを完全信頼に設定できます。完全信頼は、フォームが、ユーザーのコンピュータ上または異なるドメインのコンピュータ上にあるファイルおよび設定にアクセスできることを意味します。さらに、フォーム テンプレートとその更新版を電子メール プログラムを使用して他のユーザーに送信することによって、そのフォーム テンプレートを展開および更新できます。

信頼済みの証明書を使用してフォームにデジタル署名するには、以下の手順を実行します。
  1. デザイン モードで、[ツール] メニューの [フォームのオプション] をクリックします。
  2. [フォームのオプション] ダイアログ ボックスで、[セキュリティ] タブ (InfoPath 2003 の場合) または [セキュリティと信頼] (InfoPath 2007 の場合) をクリックします。
  3. [フォーム テンプレートの署名] の [このフォーム テンプレートに署名する] チェック ボックスをオンにします。
  4. [証明書の選択] をクリックします。
  5. [証明書の選択] ダイアログ ボックスで、フォームのデジタル署名に使用する証明書をクリックします。
: 証明書がユーザーのコンピュータで信頼されていない場合、Microsoft Office InfoPath 2003 によってセキュリティに関するメッセージが表示され、ユーザーは、フォームを開く前にその証明書の発行元を信頼する必要があります。

関連情報

Microsoft Office の最新の Service Pack の入手方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
870924 最新の Office 2003 Service Pack を入手する方法

プロパティ

文書番号: 832512 - 最終更新日: 2007年4月16日 - リビジョン: 3.0
この資料は以下の製品について記述したものです。
  • Microsoft Office InfoPath 2007
  • Microsoft Office InfoPath 2003, Service Pack 1 (SP1)
  • Microsoft Office InfoPath 2003
キーワード:?
kbdownload kbprb kbautomation kbnofix KB832512
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com