イベント ハンドラーの作成

注:  最新のヘルプ コンテンツをできるだけ早く、お客様がお使いの言語で提供したいと考えております。 このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。私たちの目的は、このコンテンツがお客様の役に立つようにすることです。お客様にとって役立つ情報であったかどうかを、このページの下部でお知らせください。 簡単に参照できるように、こちらに 英語の記事 があります。

Microsoft Office InfoPath フォーム テンプレートのスクリプトを作成する場合は、通常を作成するコードで、フォームのいずれかのテンプレートまたはデータの入力規則のイベント ハンドラー。イベント ハンドラーは、ユーザーの操作やフォームの XML データへの変更に応答する InfoPath フォーム テンプレートの関数コードです。イベント ハンドラーを作成する方法は、使用するイベントの種類によって異なります。InfoPath は、自動的にスクリプト ファイル内のイベント ハンドラーの宣言を作成し、これらのイベント ハンドラーを使用するフォーム テンプレートを有効にするフォーム ソース ファイル内のエントリをであるために、デザイン モードで、イベントを作成するのには重要です。

注: スクリプト ファイルにイベント ハンドラーを手動で作成し、し .xsf ファイルに適切な要素を手動で追加して有効にすることはできますが、勧めしません。した場合は、無効な変更を .xsf ファイル、フォーム テンプレートを使用できない可能性があります。

次の表に、InfoPath のイベント ハンドラーとそれらを作成する手順を示します。フォーム テンプレートのイベント ハンドラーを作成すると、InfoPath は Microsoft Script Editor (MSE) を起動して、そのイベント ハンドラーのコードにカーソルを配置します。[イベント ハンドラーのスクリプトを作成できます。InfoPath のイベントとイベント ハンドラーの詳細については、MSE ヘルプで使用可能な InfoPath 開発者のリファレンスを参照してください。

イベント ハンドラー

説明

作成する手順

OnAfterChange

このイベントは、ユーザーが指定したフィールドにバインド コントロールの値を変更した後に実行されます。たとえば、ユーザーがリスト ボックス コントロールのアイテムを選択した後、[HTML] 作業ウィンドウを表示できます。このイベントは、 OnValidateイベント後に実行されます。

フォーム テンプレートやデータ ソース] 作業ウィンドウ内のフィールドのコントロールを右クリックし、ショートカット メニューの [プログラム] をポイントし、 [後に変更のイベント] をクリックします。

OnAfterImport

このイベントは、ユーザーは、1 つのフォームに、いくつかのフォームを結合する正常に完了した後に実行されます。

MSE を使用してスクリプト ファイルに直接OnAfterImportイベント ハンドラー宣言を手動で追加します。このイベントは、デザイン モードでは作成できません。

OnBeforeChange

このイベントは、そのコントロールにバインドされている、指定したフィールドに値を追加する前に、ユーザーがコントロールの値を変更した後に実行されます。たとえば、ユーザーができないように繰り返しテーブルの最後の行を記入する前に、その他の行を追加できます。

フォーム テンプレートやデータ ソース] 作業ウィンドウ内のフィールドのコントロールを右クリックし、ショートカット メニューの [プログラム] をポイントにする前に変更イベント] をクリックします。

OnClick

このイベントは、ユーザーがこのイベントに関連付けられているボタンをクリックしたときに実行されます。このイベントは、フォーム テンプレートにボタンを追加した後に使用します。たとえば、ユーザーがボタンをクリックしたときに、メインのデータ ソース内のフィールドに値を使用して、複雑な計算を行うことができます。

ボタンのコントロールをダブルクリックし、[ボタンのプロパティ] ダイアログ ボックスの [全般] タブで [フォーム コードの編集] をクリックします。

OnContextChange

このイベントは、フォームにフォーカスが変更されたときに実行されます。たとえば、このイベントは、ユーザーがテキスト ボックスから日付の選択] に移動するとき、またはビューを切り替えるを実行します。このイベントは、その他のすべてのイベントが発生した後に発生します。

[ツール] メニュープログラミング] をポイントし、コンテキスト変更イベント] をクリックします。

OnLoad

このイベントは、ユーザーが新しいフォームを作成するか、既存のフォーム テンプレートに基づくフォームを開くたびに実行されます。たとえば、ユーザーがフォームを開いたときは、メインのデータ ソースにセカンダリ データ ソースからアイテムの一覧をコピーすることができます。

[ツール] メニューで、プログラミング] をポイントし、[読み込み時のイベント] をクリックします。

OnMergeRequest

このイベントは、フォーム テンプレートに基づくフォームの結合時に実行されます。たとえば、マージ操作中に状態をユーザーに与えるにマージされたフォームの数を表示することができます。

[ツール] メニューで、 [フォームのオプション] をクリックします。分類] 一覧で、[詳細設定をクリックします。フォームを結合するには、[、[ユーザー設定コードを使用して宛名差し込み] チェック ボックスを選択し、[編集] をクリックします。

OnSaveRequest

このイベントは、ユーザー フォーム テンプレートに基づくフォームを保存するときに実行します。たとえば、ユーザーがフォームを保存すると、1 つ以上の場所には、このフォーム テンプレートを基にフォームを保存することができます。InfoPath では、このイベントに 2 つの追加のコード行を追加: フォームと別の行を保存する行では、InfoPath が正常にフォームを保存されているかどうか。

[ツール] メニューで、 [フォームのオプション] をクリックします。分類] 一覧で開くまたは保存する] をクリックします。保存の動作をするには、[、[ユーザー設定コードを使用して保存する] チェック ボックスを選択し、[編集] をクリックします。

OnSign

このイベントは、ユーザーがフォームにデジタル署名を適用するときに実行されます。たとえば、ユーザーがそのとは、経費報告書フォームのデジタル署名に追加のデータを追加できます。

[ツール] メニューで、プログラミング] をポイントし、記号イベント] をクリックします。

OnSubmitRequest

このイベントは、ユーザーがだれかのフォーム データを送信するときに実行します。たとえば、ユーザーが [ファイル] メニューの送信とフォームのデータをセキュリティで保護された Web サービスを送信できます。InfoPath がセキュリティで保護された Web サービス データ接続をサポートしていないためのセキュリティで保護された Web サービスと連携するユーザー設定のデータ接続を追加する必要があります。

[ツール] メニューで、 [送信オプション] をクリックします。このフォームを送信するユーザーを許可する]チェック ボックスをオン、コードを使用してユーザー設定の操作を実行するには、をクリックし、[コードの編集] をクリックします。

OnSwitchView

このイベントは、ユーザー フォーム テンプレートに基づくフォームを開くときに実行されると、フォームに別の表示に切り替わります。たとえば、ユーザーは、特定のビューに切り替えときに、フォームのメインのデータ ソース内のフィールドからデータを含む電子メール メッセージを作成できます。

[ツール] メニューは、プログラミングをクリックし、 [スイッチ イベントの表示] をクリックします。

OnValidate

このイベントは、ユーザーには、フィールドにバインドされたコントロールの値が変更されたときに実行されます。たとえば、ユーザーは、特定のコントロールの値を変更するときに、ユーザーが入力した番号とスクリプト内にある番号を使用して他のコントロールに新しい値を計算できます。このイベントは、 OnBeforeChangeイベント ハンドラーを実行した後に発生します。

フォーム テンプレートやデータ ソース] 作業ウィンドウ内のフィールドのコントロールを右クリックし、ショートカット メニューの [プログラム] をポイントの後に検証するイベント] をクリックします。

開こう

このイベントは、ユーザーが既存のフォームを開くし、既存のフォームを使用するフォーム テンプレートのバージョン番号は、発行場所でフォーム テンプレートのバージョン番号より古いを実行します。既存のフォームを開くと、InfoPath は、既存のフォームに関連付けられているフォーム テンプレートのバージョン番号を確認します。フォーム テンプレートに新しいバージョン番号がある場合は、InfoPath は、ユーザーが既存のフォームを開くときに、 OnVersionイベント ハンドラーを実行します。たとえば、ユーザーが既存のフォームを開いた場合は、メインのデータ ソースに追加する新しいフィールドを追加するか、既存のフォーム テンプレートに新しいフィールドを追加して、再発行します。このイベントは、ユーザーが既存のフォームを開いたときに、メインのデータ ソースに新しいフィールドを追加します。

[ツール] メニューで、 [フォームのオプション] をクリックします。分類] 一覧では、バージョン管理をクリックします。バージョンにアップグレード] の一覧で、[ユーザー設定のイベントを使用する] をクリックし、[編集] をクリックします。

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

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

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

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

×