Microsoft Office InfoPath 2007 でフォーム テンプレートをデザインするときに、そのテンプレートのフィールド (フィールド : データが含まれる、データ ソース内の要素または属性。フィールドが要素の場合は属性フィールドを含めることができます。フィールドには、コントロールに入力されたデータが格納されます。)にバインド (バインド : コントロールに入力したデータが保存されるように、データ ソースのフィールドやグループにコントロールを接続すること。コントロールのバインドが解除されると、フィールドやグループには接続されないため、コントロールに入力したデータは保存されません。)されているコントロールに既定値を割り当てることができます。既定値とは、ユーザーがフォームを開いてデータの入力を始めるときにコントロールに自動的に表示される値のことです。
この記事の内容
既定値の概要
フォーム テンプレートをデザインするときに、ユーザーがフォームに情報をすばやく入力できるように、コントロールに既定値を割り当てておくことができます。たとえば、従業員経費報告書のフォーム テンプレートを作成する場合、日付の選択コントロールに "現在の日付" を既定値として割り当てることができます。完成したフォームをユーザーが開くと、そのときの日付が日付の選択コントロールに自動的に挿入され、ユーザーがわざわざ日付を入力する必要はなくなります。
フォーム テンプレートに既定値を設定するには、次のいずれかの操作を行います。
ページの先頭へ
コントロールの既定値を設定する
フォーム テンプレート上のフィールドの既定値を設定する場合、そのテンプレートに基づいて作成されたフォームにユーザーが情報を入力する際にコントロールに自動的に表示される値を指定することになります。
- [データ ソース] 作業ウィンドウが表示されていない場合は、[表示] メニューの [データ ソース] をクリックします。
- [データ ソース] 作業ウィンドウで、既定値を設定するフィールドをマウスの右ボタンでクリックし、ショートカット メニューの [プロパティ] をクリックします。
- [データ] タブをクリックします。
- 次のいずれかの操作を行います。
- 変更内容をテストするには、[標準] ツールバーの [プレビュー] をクリックするか、Ctrl キーと Shift キーを押しながら B キーを押します。
技術的な背景知識
コントロールの既定値を設定する場合は、そのコントロールがバインドされているフィールドの既定値も設定していることになります。このため、同じフィールドにバインドされているすべてのコントロールに、指定した既定値が割り当てられます。
既定値として固定値を指定した場合、その値がフォーム テンプレートに関連付けられている template.xml ファイルに保存されます。この既定値をプログラムによって変更するには、template.xml ファイル内で適切なフィールドの値を書き換えます。XPath 式の計算結果を既定値として指定した場合は、その式が manifest.xsf ファイルの該当フィールドの xsf:calculatedField 要素に格納されます。
ページの先頭へ
動作規則を使用して既定値を設定する
動作規則を使用すると、コントロールの既定値を別のコントロールの値に基づいて設定できます。動作規則は、フォームで特定の条件が満たされたときに実行される動作を指定します。たとえば、都道府県の入力用コントロールと郵便番号の入力用コントロールを配置したフォーム テンプレートをデザインする場合を考えてみましょう。ユーザーが郵便番号コントロールに郵便番号を入力した時点で、都道府県コントロールに適切な都道府県名を自動的に表示することができます。
ここで説明する操作を行うには、フォーム テンプレートにコントロールを 2 つ配置しておく必要があります。1 つはユーザーがデータを入力するコントロール、もう 1 つは最初のコントロールに入力されたデータに基づいて既定値が挿入されるコントロールです。
- 既定値を設定するコントロールの値の設定基準となるコントロールをダブルクリックします。
たとえば、都道府県コントロールと郵便番号コントロールの例では、郵便番号コントロールをダブルクリックします。
- [データ] タブをクリックします。
- [入力規則と動作規則] の [動作規則] をクリックします。
- [動作規則] ダイアログ ボックスの [追加] をクリックします。
- [名前] ボックスに動作規則の名前を入力します。
- 動作規則を実行する条件を指定するには、[条件の設定] をクリックします。
- [条件] ダイアログ ボックスで、条件を入力して [OK] をクリックします。
たとえば、ユーザーが別のコントロールにデータを入力したときにコントロールに既定値を挿入する場合は、最初のボックスでユーザーがデータを入力するフィールドをクリックします。2 番目のボックスで [が次の値に等しい] を選択し、最後のボックスにユーザーがコントロールに入力するデータを入力します。
- [動作規則] ダイアログ ボックスの [動作の追加] をクリックします。
- [動作] の一覧で、[フィールドの値を設定する] をクリックします。
- [フィールド] ボックスの横にある
をクリックし、[フィールドまたはグループの選択] ダイアログ ボックスで、既定値を設定するコントロールをクリックします。 - 次のいずれかの操作を行います。
- 固定値を既定値として使用するには、その値を [値] ボックスに入力して [OK] をクリックします。
- XPath 式を使用して既定値を計算するには、
(数式の挿入) をクリックし、[数式の挿入] ダイアログ ボックスに式を入力して [OK] をクリックします。
- 変更内容をテストするには、[標準] ツールバーの [プレビュー] をクリックするか、Ctrl キーと Shift キーを押しながら B キーを押します。
ページの先頭へ
フォームのすべての既定値を設定する
フォーム テンプレートのすべてのコントロールに既定値が必要で、それらの既定値が動作規則に基いたものでない場合は、すべての既定値をまとめて設定できます。
- [ツール] メニューの [フォームのオプション] をクリックします。
- [カテゴリ] の [詳細設定] をクリックし、[既定値の編集] をクリックします。
- [既定値の編集] ダイアログ ボックスで、既定値を設定するフィールドを選択します。
- 次のいずれかの操作を行います。
- 既定値を設定する各フィールドに対して、手順 3. ~ 4. を繰り返します。
- 変更内容をテストするには、[標準] ツールバーの [プレビュー] をクリックするか、Ctrl キーと Shift キーを押しながら B キーを押します。
ページの先頭へ