プログラミング コードを使用したフォーム テンプレートのカスタマイズの概要

Microsoft Office InfoPath では、開発者にフォーム テンプレートをカスタマイズするための豊富な開発環境を提供します。フォーム テンプレートは、フォームと データの入力規則 イベントに応答し、フォームの基になる XML ドキュメントにアクセスして操作し、カスタム データの送信と結合を実装し、外部データ ソースにアクセスするプログラミング コードを記述することでカスタマイズできます。フォーム テンプレートをカスタマイズすると、特定の要件を満たすために、フォーム テンプレート ファイルのいずれか 1 つが変更される場合もあります。

フォーム テンプレートのプログラミングに関するいくつかの重要な概念を理解することが重要です。その概念として、InfoPath プログラミング コンポーネント、宣言とプログラムによる開発、サポートされているプログラミング言語と環境などがあります。

このトピックの内容

プログラミング コンポーネント

宣言とプログラムによる開発

プログラミング言語と環境

プログラミング コンポーネント

InfoPath のプログラミング機能として、フォーム テンプレートのソース ファイルを変更するか、スクリプトで InfoPath オブジェクト モデルを使用するカスタム関数を記述して、フォーム テンプレートをカスタマイズできます。プログラムによる操作にかかわるフォーム テンプレートの主要コンポーネントの一覧を次の表に示します。

コンポーネント

説明

オブジェクト モデル

コレクション、オブジェクト、プロパティ、メソッド、およびイベントから構成される階層的なタイプ ライブラリです。フォーム テンプレート開発者は、これらの項目を使用して、InfoPath 編集環境のさまざまな要素をプログラムで制御し、フォームの基になる XML ドキュメントにアクセスできます。

データの入力規則

ユーザーがフォームの入力に使用できるデータの妥当性検証と制限に使用される XML スキーマ、式、およびスクリプト コードの組み合わせです。

イベント処理

フォームの基になる XML ドキュメントの変更に応答し、表示 の切り替えに応答し、カスタム フォーム送信を実装し、またはフォームの基になる XML ドキュメントの読み込みに応答する一連のイベント ハンドラーです。

ユーザー インターフェイス

メニュー、ツールバー、ボタン、コマンド バー、および作業ウィンドウから構成されるカスタマイズ可能なユーザー インターフェイス コンポーネントの集合です。

編集コントロール

コレクション、オプション項目、フィールドなど、フォームの基になる XML ドキュメントの管理と操作に使用される InfoPath 固有のコントロールの集合です。これらの編集コントロールは直接ではなく、コントロールがバインドされている、フォームの基になる XML コントロールを使用して操作します。

エラー処理

フォームのエラー処理に使用されるイベント ハンドラ、オブジェクト モデルの呼び出し、およびフォーム定義 (.xsf) ファイル エントリを組み合わせたものです。

セキュリティ

InfoPath オブジェクト モデルとシステム リソースへのアクセスを制限するセキュリティ レベルの集合です。

データ送信

フォームにカスタム投稿と送信機能を実装するときに使用できる定義済み関数の集合です。

ビジネス ロジック

特定の編集動作、データの入力規則、イベント ハンドラ、およびデータ フロー制御の実装に使用されるプログラミング コードが入ったカスタム スクリプト ファイルの集合です。また、ビジネス ロジックには、外部 Component Object Model (COM) コンポーネントへのアクセスも含まれることがあります。

フォーム統合

Microsoft Office Excel、Microsoft Office Outlook など、他の Microsoft Office プログラムの統合です。統合には、Microsoft SQL Server、Microsoft Windows SharePoint Services、XML Web サービスなど、バックエンド サーバーの使用も含まれることがあります。

ページの先頭へ

宣言とプログラムによる開発

フォーム テンプレート ファイルを変更する場合、宣言によってフォーム テンプレートをカスタマイズします。つまり、標準テキスト エディタでファイルを開き、ファイルの要素、属性、および値を手動で変更します。プログラムでフォーム テンプレートを変更する場合、InfoPath オブジェクト モデルや場合によっては COM コンポーネントと共に、スクリプト言語またはマネージ コード言語を使用してプログラミング コードを記述して、フォーム テンプレートの動作を拡張します。

次に、宣言によりフォーム テンプレートをカスタマイズする方法を紹介します。

  • XML スキーマ (.xsd) ファイルを変更する

  • デザイン モードで作成されたビュー (.xsl) ファイルを変更する

  • フォーム定義 (.xsf) ファイルを変更する

  • XML テンプレート (.xml) ファイルを変更する

次に、プログラムによりフォーム テンプレートをカスタマイズする方法を紹介します。

  • フォームのライフサイクル処理ロジックを追加する

  • データのカスタム入力規則を追加する

  • カスタム エラー処理を追加する

  • データ送信を実装する

  • フォームの結合またはインポートに対応する

  • カスタム作業ウィンドウを使用する

  • カスタム ダイアログ ボックスを使用する

  • フォームの基になる XML ドキュメントにアクセスし、変更する

  • フォーム定義 (.xsf) ファイルにアクセスし、変更する

  • 外部 COM コンポーネントを使用する

InfoPath プログラミング コンポーネントの詳細、および宣言またはプログラムによるフォーム テンプレートのカスタマイズの詳細については、InfoPath Developer's Reference を参照してください。InfoPath Developer's Reference は InfoPath と共にインストールされ、デザイン モードで InfoPath ヘルプからアクセスできます。

ページの先頭へ

プログラミング言語と環境

他の Microsoft Office プログラムと同様、InfoPath では、開発者が Office プログラムの自動化と拡張に使用できるいくつかのプログラミング環境とプログラミング言語がサポートされています。ただし、ほとんどの Office プログラムでは Microsoft Visual Basic for Applications (VBA) を主要なプログラミング言語として使用しますが、InfoPath では Microsoft JScript と Microsoft Visual Basic Scripting Edition (VBScript) の 2 つのスクリプト言語、および Microsoft Visual C# と Microsoft Visual Basic の 2 つのマネージ コード言語を使用します。また、InfoPath でスクリプトを作成するときに使用されるプログラミング環境は、Visual Basic エディター ではなく Microsoft Script Editor (MSE) です。最後に、マネージ コードの記述用の環境には、Microsoft Visual Studio 2005 Tools for Applications (VSTA) が使用されます。VSTA は、Microsoft .NET Framework 2.0 と Microsoft Core XML Services 6.0 が存在する場合にインストールできます。

ページの先頭へ

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×