繰り返しセクションを挿入する
適用先
Microsoft Office InfoPath フォーム テンプレートに繰り返しセクションを挿入すると、ユーザーはフォーム テンプレートに基づくフォームに入力するときに、そのセクションの複数のインスタンスを追加できます。
この記事の内容
繰り返しセクションを使用する場合
繰り返しセクションは、他のコントロールを含み、必要に応じて繰り返すコントロールです。 次の操作を行う場合は、繰り返しセクションを使用します。
- 同じ種類のデータの複数のインスタンスを収集します。 たとえば、販売レポート フォーム テンプレートでは、繰り返しセクションを使用して、営業チームから販売目標を収集できます。
- フォームに可変量のデータを表示します。 たとえば、フォーム テンプレートが従業員レコードのデータベースに接続されている場合、ユーザーが InfoPath 内からデータベースにクエリを実行するときに、繰り返しセクションを使用して一致するレコードを表示できます。 1 つのレコードが返された場合、ユーザーはフォームに 1 つのセクションのみを表示します。 10 個のレコードが返された場合、ユーザーには 10 個のセクションが表示されます。
- フォーム テンプレートの重要な領域を占有する空のプレースホルダー領域は避けてください。
申請者が被扶養者の名前と年齢を一覧表示する必要がある保険申請フォームテンプレートを想像してみてください。 このフォームのペーパー バージョンでは、3 つのプレースホルダー フィールドが表示される場合があります。これは、ほとんどのユーザーが 3 人以下の依存を持っていることを前提としています。 3 つ以上の依存者を持つユーザーは、既存のフィールドの下にある追加の依存に関する情報を絞り込むか、フォームの背面に書き込む必要があります。
このフォームの InfoPath バージョンでは、繰り返しセクションを使用して、申請者が必要な数の依存者を簡単に追加できるようにします。 次の図は、フォームに入力したユーザーがどのように表示されるかを示しています。
フォーム テンプレートに繰り返しセクションを挿入すると、基本的に空のコンテナーが挿入されます。 繰り返しセクションを役立てるには、繰り返しセクション内に他のコントロールを挿入する必要があります。
関連するコントロール
InfoPath には、繰り返しセクションに似ているが、さまざまな目的に使用する他のコントロールが含まれています。 どのコントロールがフォーム テンプレートに最適であるかを判断するには、次のリストを参照してください。
繰り返しテーブル ユーザーが 1 つのテーブルに複数の行を追加できるようにする場合は、フォーム テンプレートの繰り返しセクションではなく繰り返しテーブルを使用することを検討してください。 たとえば、請求書明細などの明細データをテーブル形式で表示して、ユーザーが必要に応じてテーブルに行を追加できるようにします。 最終的には、繰り返しセクションではなく繰り返しテーブルを使用することが優先されます。 どちらのコントロールでも、同じ種類のデータの複数のインスタンスを収集または表示できます。
セクション セクションは、関連するコントロールのグループを整理するために使用されます。 繰り返しセクションではなくセクションを使用する場合、ユーザーはフォームにセクションを追加できません。
繰り返し選択グループ 選択グループには、2 つ以上のセクションが含まれています。 既定では、これらのセクションのいずれかがフォームに表示されます。 ユーザーは別のセクションに置き換えることができます。 選択グループは、ユーザーがフォームに複数回挿入することもできます。
再帰セクションの繰り返し 繰り返しセクションと同様に、繰り返し再帰セクションをフォームに複数回挿入できます。 ユーザーが繰り返しセクションの複数のインスタンスを挿入すると、前のセクションの下に新しいセクションが 1 つずつ挿入されます。 ただし、繰り返し再帰セクションを使用すると、新しい各セクションが既存のセクション内に挿入され、入れ子になったセクションのセットが作成されます。 これは、アウトラインなどの階層コンテンツを作成する場合に便利です。
省略可能なセクション 繰り返しセクションをフォーム テンプレートに追加すると、ユーザーが最初に開いたときに常にフォームに表示されます。 一方、省略可能なセクションは既定では非表示になっています。 ユーザーは、フォームに省略可能なセクションを含めるかどうかを選択できます。 たとえば、発注書フォームでは、注文する予定の商品にコメントを付けるユーザーもいます。 省略可能なセクションを挿入し、その省略可能なセクション内に Notes というラベルが付いたリッチ テキスト ボックスを追加できます。 必要に応じて、省略可能なセクションの下にある説明テキストをクリックして、省略可能なセクションを追加できます。
リスト コントロール リスト コントロールは繰り返しコントロールの最も簡単な種類であり、ユーザーが箇条書き、番号付き、またはプレーンリストに必要な数だけ項目を追加できるようにする場合に便利です。 たとえば、箇条書きコントロールを使用して、問題リスト内の複数のアクション 項目を収集できます。
マスター/詳細コントロール マスター/詳細コントロールは、2 つの関連するコントロールのセットです。 マスター コントロールは常に繰り返しテーブルです。 詳細コントロールには、繰り返しテーブルまたは繰り返しセクションを指定できます。 マスター/詳細コントロールを使用して 1 つのコントロールを別のコントロールにリンクすると、1 つ目のコントロールの選択によって 2 番目のコントロールに表示される内容が決まります。
ユーザー エクスペリエンス
ユーザーが繰り返しセクションの上にポインターを移動すると、左上隅に矢印が付いた青いボタンが表示されます。 これはショートカット メニュー ボタンです。 ユーザーはこのボタンをクリックすると、繰り返しセクションを挿入または削除するためのオプションを表示できます。
繰り返しセクションを挿入する
繰り返しセクションを挿入する手順は、新しい空白のフォーム テンプレートを設計するか、データベースまたはその他の外部データ ソースに基づいてフォーム テンプレートの設計に基づいているかによって若干異なります。
次の図は、繰り返しセクションがデザイン モードで選択されている場合の外観を示しています。
コントロールは、バインドすることも、バインド解除することもできます。 コントロールは、バインドされている場合、データ ソース内のフィールドまたはグループに接続されており、コントロールに入力したデータは、基になるフォーム (.xml) ファイルに保存されます。 コントロールは、バインド解除されている場合、フィールドまたはグループに接続されておらず、コントロールに入力したデータは保存されません。 コントロールを選ぶか、ポインターをコントロールの上に移動すると、コントロールの右上隅にテキストとバインド アイコンが表示されます。 テキストは、コントロールがバインドされているデータ ソース内のグループまたはフィールドを示します。 アイコンは、コントロールがグループまたはフィールドに適切にバインドされているかどうかを示します。 バインドが適切である場合、緑色のアイコンが表示されます。 バインドに問題がある場合、青色または赤色のアイコンが表示されます。
フォーム テンプレート用のデータ ソースは、[データ ソース] 作業ウィンドウの階層ビューに表示されるフィールドとグループから構成されます。 繰り返しセクションは通常、フォーム テンプレートのデータ ソース内の繰り返しグループにバインドされますが、繰り返しフィールドにバインドすることもできます。
次の例では、フォーム テンプレートの [依存する繰り返し] セクションが、[データ ソース] 作業ウィンドウの依存する繰り返しグループにバインドされています。 繰り返しセクションの各コントロールは、繰り返しセクションのグループの一部である対応するフィールドにバインドされます。
新しい空白のフォーム テンプレートに繰り返しセクションを挿入する
新しい空白のフォーム テンプレートをデザインする場合、[コントロール] 作業ウィンドウの [自動的にデータ ソースを作成する] チェック ボックスが既定で選択されています。 このため、InfoPath では、フォーム テンプレートにコントロールが追加されると、データ ソースにフィールドおよびグループが自動的に作成されます。 これらのフィールドおよびグループは、[データ ソース] 作業ウィンドウではフォルダー アイコンおよびファイル アイコンで表されます。
フォーム テンプレートで、コントロールを挿入する場所にカーソルを置きます。
[コントロール] 作業ウィンドウが表示されていない場合は、[挿入] メニューの [コントロールの選択] をクリックするか、Alt キーを押しながら I キー、C キーの順に押します。
[ コントロールの挿入] で、[ 繰り返しセクション] をクリックします。
繰り返しセクションにコントロールを追加するには、[コントロール] 作業ウィンドウからフォーム テンプレートの繰り返しセクションに目的の コントロール をドラッグします。
注
コントロールのフィールドがデータ ソース内のセクションのグループに既に含まれていない限り、フォーム テンプレートに既にあるコントロールをセクションに移動しないでください。 そうしないと、コントロールのバインドが切断される可能性があります。
コントロールにラベルを追加するには、その上にテキストを入力します。
既存のデータ ソースに基づくフォーム テンプレートに繰り返しセクションを挿入する
既存の拡張マークアップ言語 (XML) ファイル、データベース、または Web サービスを基にしたフォーム テンプレートのデザインにした場合、InfoPath では、[データ ソース] 作業ウィンドウのフィールドおよびグループをその既存のデータ ソースから導出します。 このシナリオでは、次の手順で説明するように、[ データ ソース ] 作業ウィンドウからフォーム テンプレートに繰り返しグループをドラッグするか、[ コントロール ] 作業ウィンドウを使用して繰り返しセクションを挿入することで、繰り返しセクションを追加できます。
フォーム テンプレートで、コントロールを挿入する場所にカーソルを置きます。
[コントロール] 作業ウィンドウが表示されていない場合は、[挿入] メニューの [コントロールの選択] をクリックするか、Alt キーを押しながら I キー、C キーの順に押します。
[ コントロールの挿入] で、[ 繰り返しセクション] をクリックします。
[ 繰り返しセクション バインド ] ダイアログ ボックスで、繰り返しセクション データを格納する繰り返しグループを選択し、[OK] をクリック します。
繰り返しセクションにコントロールを追加し、データ ソース内の適切なフィールドにバインドします。
InfoPath では、コントロールのラベルとして、フィールドまたはグループの名前を使用します。 必要に応じて、ラベル テキストを変更します。
ヒント
データ ソース作業ウィンドウを使ってコントロールを挿入することもできます。 [ データ ソース ] 作業ウィンドウで、繰り返しセクションをバインドする繰り返しグループを右クリックし、ショートカット メニューの [ 繰り返しセクション ] をクリックします。
レイアウトのヒント
繰り返しセクションにコントロールを挿入する前に、それらのコントロールをどのように配置するかを考えてください。 コントロールを自由形式で追加する場合は、必要に応じてセクションにドラッグします。 または、レイアウトをより詳細に制御する場合は、繰り返しセクション内にレイアウト テーブルを追加し、ラベルとコントロールを個々のセル内に挿入して、適切に配置することができます。 次の例では、フォーム デザイナーで 1 行の 3 列レイアウト テーブルを使用して、繰り返しセクション内にコントロールを配置しています。
レイアウト テーブルの使用に加えて、次の 1 つ以上を実行できます。
- 複数の繰り返しセクションのサイズを一度に変更するには、サイズを変更する繰り返しセクションを選択し、[ 書式 ] メニューの [ プロパティ] をクリックし、[ サイズ ] タブで必要な調整を行います。
- 繰り返しセクションの罫線または色を変更するには、フォーム テンプレートで選択し、[ 書式 ] メニューの [ 罫線と網かけ] をクリックし、[ 罫線 ] タブをクリックして、必要な調整を行います。
- 繰り返しセクションのコントロールが実際のテキストでどのように表示されるかを確認するには、[表示] メニューの [サンプル データ] をクリックします。 これにより、ユーザーがフォーム テンプレートに入力したときに、フォーム テンプレートに基づくフォームの外観を把握するのに役立ちます。
- 場合によっては、繰り返しセクション内のコントロール内のテキストと、それらのコントロールの左側のラベルが少し配置されていないように見える場合があります。 簡単に再調整するには、コントロールをダブルクリックし、[サイズ] タブの [配置] をクリックし、[適用] をクリックします。 ラベルとコントロールがレイアウト テーブル内の別のセルにある場合は、ラベルを含むセルを右クリックし、ショートカット メニューの [テーブル プロパティ] をクリックし、[セル] タブの [垂直方向の配置] の下にある [中央揃え] をクリックします。
- 既定では、[ 垂直に繰り返す] オプションが選択されています。 つまり、ユーザーが繰り返しセクションを追加すると、それらのセクションはフォームの長さの下に垂直に表示されます。 代わりに、繰り返しセクションを水平方向に展開することもできます。 これにより、まったく異なるレイアウトを作成できます。 たとえば、予定表に似たフォーム テンプレートを作成できます。 [ 水平に繰り返す] オプションは、ブラウザー互換のフォーム テンプレートではサポートされていません。