複数選択リスト ボックスは、一般的なリスト ボックスではなく、チェック ボックスのスクロール可能なリストのように見える選択肢の一覧です。 ユーザーは、リストから必要な数のチェック ボックスを選ぶことができます。 複数選択リスト ボックスのデザインによっては、ユーザーがチェック ボックスの横にリスト項目を入力できる場合もあります。
この記事の内容
複数選択リスト ボックスの用途
複数選択リスト ボックスは、次のような場合に使用します。
- ユーザーがリスト内の複数の項目を選択できるようにする
- ユーザーがリスト内に値を入力できるようにする
- 既定でリストに項目のほとんどまたはすべてを表示する
- 固定リスト、フォーム テンプレートのデータ ソース、またはデータベースやMicrosoft Windows SharePoint Services リストなどの外部データ ソースから取得した値を表示します。
次の図では、複数選択リスト ボックスで [チェック] ボックスを選択することで、経費精算書フォームの経費を複数のカテゴリに割り当てることができます。 フォーム デザイナーは、カスタム カテゴリを許可することを選択しました。 そのため、ユーザーはリストの最後のチェック ボックスの横にある空のボックスに値を入力できます。
フォーム テンプレートに複数選択リスト ボックスを挿入した後、リストに表示する値を指定する必要があります。 値を指定しないと、フォーム テンプレートから作成されたフォームを開いたときに、空のボックスが表示されます。 [複数選択リスト ボックスのプロパティ] ダイアログ ボックスでは、手動で項目を入力することができますが、データベースやその他のデータ ソースから項目を取得する複数選択リスト ボックスを構成することもできます。
関連するコントロール
Microsoft Office InfoPath には、複数選択リスト ボックスに似ているが、機能が異なるコントロールが用意されています。 どのコントロールがフォーム テンプレートに最適であるかを判断するには、次のリストを参照してください。
リスト ボックス 複数選択リスト ボックスと同様に、標準リスト ボックスを使用すると、ユーザーはリスト内の値を選択できます。 ただし、リスト ボックスを使用すると、ユーザーはリスト内の 1 つの項目のみを選択できます。 複数選択リスト ボックスと同様に、リスト ボックスには、リスト内のすべての項目が既定で表示されます。
ドロップダウン リスト ボックス 他のリストと同様に、ドロップダウン リスト ボックスを使用すると、ユーザーに選択肢の一覧が表示されます。 ただし、ドロップダウン リスト ボックスでは、ユーザーがコントロールをクリックするまで、リスト エントリは非表示になります。 ユーザーは、ドロップダウン リストから 1 つの項目のみを選択できます。
コンボ ボックス ユーザーが独自のリスト エントリを入力したり、定義済みのリストから値を選択したりできるようにするには、複数選択リスト ボックスではなくコンボ ボックスを使用します。 ユーザーはコンボ ボックスから 1 つの項目のみを選択できます。
オプション ボタン 複数選択リスト ボックスと同様に、オプション ボタンのグループを使用すると、ユーザーは選択肢の一覧から選択できます。 複数選択リスト ボックスとは異なり、ユーザーはオプション ボタンのグループから 1 つのオプションのみを選択できます。 さらに、オプション ボタンを使用すると、ユーザーは小さな円をクリックして、リスト ボックス内の項目をクリックするのではなく、選択を行います。
ユーザー エクスペリエンス
複数選択リスト ボックスの場合、フォーム上のボックス内のチェック ボックスのオン/オフを切り替えて、項目を選択/選択解除できます。 チェック ボックスの数がコントロールの高さを超えると、ボックスの右側にスクロール バーが表示され、残りの項目を確認できます。
必要に応じてリストに項目を入力できるよう、フォーム テンプレートをデザインできます。 そのような場合は、リストの最後の項目として、チェック ボックスに編集ボックスが表示されます。
ユーザー設定の値を入力するには、編集ボックスの横にあるチェック ボックスを選んでから、チェック ボックスの横の領域に項目を入力します。 ユーザー設定の値を入力できるようにするには、フォーム テンプレートに複数選択リスト ボックスを挿入するときに、[複数選択リスト ボックスのプロパティ] ダイアログ ボックスで、[ユーザー設定の値を入力できるようにする] チェック ボックスをオンにする必要があります。
互換性に関する考慮事項
InfoPath でフォーム テンプレートを設計する場合は、ブラウザー互換のフォーム テンプレートを設計できます。 ブラウザーと互換性があるフォーム テンプレートをデザインする場合、複数選択リスト ボックスは Web ブラウザーに表示できないので、複数選択リスト ボックス コントロールは [コントロール] 作業ウィンドウで使用できません。
複数選択リスト ボックスを挿入する
複数選択リスト ボックスを挿入する手順は、新しい空白のフォーム テンプレートをデザインする場合と、データベースやその他の外部データ ソースからデータを取り込むフォーム テンプレートをデザインする場合とでは、若干異なります。
次の図は、フォーム テンプレート デザイナーでリスト ボックス項目を手動で追加する前に、デザイン モードで複数選択リスト ボックスを選んだ場合に、どのように表示されるのかを示しています。
コントロールは、バインドすることも、バインド解除することもできます。 コントロールは、バインドされている場合、データ ソース内のフィールドまたはグループに接続されており、コントロールに入力したデータは、基になるフォーム (.xml) ファイルに保存されます。 コントロールは、バインド解除されている場合、フィールドまたはグループに接続されておらず、コントロールに入力したデータは保存されません。 コントロールを選ぶか、ポインターをコントロールの上に移動すると、コントロールの右上隅にテキストとバインド アイコンが表示されます。 テキストは、コントロールがバインドされているデータ ソース内のグループまたはフィールドを示します。 アイコンは、コントロールがグループまたはフィールドに適切にバインドされているかどうかを示します。 バインドが適切である場合、緑色のアイコンが表示されます。 バインドに問題がある場合、青色または赤色のアイコンが表示されます。
フォーム テンプレート用のデータ ソースは、[データ ソース] 作業ウィンドウの階層ビューに表示されるフィールドとグループから構成されます。 複数選択リスト ボックスは、常にグループ内の繰り返しフィールドにバインドされます。 繰り返しフィールドでは、フィールドに複数の値を保存できます。 次の例では、フォーム テンプレートの [カテゴリ] 複数選択リスト ボックスは、[データ ソース] 作業ウィンドウの "カテゴリ" 繰り返しフィールドにバインドされています。
新しい空白のフォーム テンプレートをデザインする場合、[コントロール] 作業ウィンドウの [自動的にデータ ソースを作成する] チェック ボックスが既定で選択されています。 このため、InfoPath では、フォーム テンプレートにコントロールが追加されると、データ ソースにフィールドおよびグループが自動的に作成されます。 これらのフィールドおよびグループは、[データ ソース] 作業ウィンドウではフォルダー アイコンおよびファイル アイコンで表されます。
既存の拡張マークアップ言語 (XML) ファイル、データベース、または Web サービスを基にしたフォーム テンプレートのデザインにした場合、InfoPath では、[データ ソース] 作業ウィンドウのフィールドおよびグループをその既存のデータ ソースから導出します。
複数選択リスト ボックスを挿入する
フォーム テンプレートで、コントロールを挿入する場所にカーソルを置きます。
[コントロール] 作業ウィンドウが表示されていない場合は、[挿入] メニューの [コントロールの選択] をクリックするか、Alt キーを押しながら I キー、C キーの順に押します。
[コントロール] 作業ウィンドウで、次のいずれかの操作を行います。
複数選択リスト ボックスにバインドされるデータ ソース内の繰り返しフィールドを自動的に作成するには、[自動的にデータ ソースを作成する] チェック ボックスをオンにします。
複数選択リスト ボックスを既存の繰り返しフィールドにバインドするには、[自動的にデータ ソースを作成する] チェック ボックスをオフにします。
注
チェック ボックスが使用できない場合、データ ソースがロックされています。 たとえば、XML スキーマを基にしたフォーム テンプレートのデザインにした場合、InfoPath で新しいフィールドまたはグループをデータ ソースに追加できないことがあります。 この制限で、スキーマが無効になるような変更を誤って行うことを防止しています。
[コントロールの挿入] で、[複数選択リスト ボックス] をクリックします。
手順 3 で [自動的にデータ ソースを作成する] チェック ボックスをオフにした場合は、[複数選択リスト ボックスのバインド] ダイアログ ボックスで、複数選択リスト ボックスのバインド先の繰り返しフィールドを選びます。
フォーム テンプレートで、複数選択リスト ボックスの上または左側にラベル テキストを入力して、その後にコロン (:) を入力します。
リスト内の項目として使用する値を指定するには、複数選択リスト ボックスをダブル クリックします。
[データ] タブをクリックします。
次のいずれかの操作を行って、リスト ボックスに値を入力します。
リスト ボックスの値を自分で入力する
このオプションは、事前に特定された限られた値セットがあり、将来それらの値が変わらないと考えられる場合に便利です。 値に変更が発生した場合は、更新版のフォーム テンプレートを発行して、ユーザーが最新のリスト項目を表示および使用できるようにする必要があります。- [追加] をクリックします。
- [値] ボックスに、ユーザーがこの項目を選んだ場合に保存するテキストを入力します。
- [表示名] ボックスに、この項目に対して表示するテキストを入力して、[OK] をクリックします。
- リスト ボックスに追加する項目ごとに、手順 1 ~ 3 を繰り返します。
- 変更内容をテストするには、[標準] ツール バーの [プレビュー] をクリックするか、Ctrl キーと Shift キーを押しながら B キーを押します。
フォームの別の部分の値を使用する
このオプションは、ユーザーがフォームに入力した他の値に応じて、リスト内の値を変更する場合に便利です。[リスト ボックス項目] で [フォームのデータ ソースの値を検索する] をクリックします。
リスト ボックス内の項目は、フォーム テンプレート上の特定の繰り返しグループまたは繰り返しフィールドに関連付けられている必要があります。[エントリ] ボックスの横にある [XPath
] をクリックし、[フィールドまたはグループの選択] ダイアログ ボックスで、リスト ボックスの値を提供するフィールドを含む繰り返しフィールドまたは繰り返しグループをクリックし、[OK] をクリックします。[値] ボックスの横にある [XPath
を選択] をクリックし、リスト ボックス内の項目の使用可能な値を含むフィールドをクリックし、[OK] をクリックします。 これらの値の 1 つは、ユーザーがリスト ボックス内の項目をクリックすると、基になる XML に保存されます。[表示名] ボックスの横にある [XPath
] をクリックし、リスト ボックスに表示される値を含むフィールドをクリックし、[OK] をクリックします。ヒント
表示名の値がリスト ボックスに複数回表示されないようにするには、[一意の表示名を持つ項目のみ表示する] チェック ボックスをオンにします。
データベース、Web サービス、XML ドキュメント、SharePoint サイトからの値を使用する
このオプションは、リスト ボックス内の値を最新の状態にする場合、または定期的に更新する場合に便利です。 値は通常、データベースや他の外部データ ソースに保存され、フォームが開かれるたびに取得されます。[外部データ ソースの値を参照する] をクリックします。
次のいずれかの操作を行います。
- データ接続を既に追加した場合は、[データ接続] ボックスでそれをクリックします。
- 新しいデータ接続を追加するには、[追加] をクリックして、データ接続ウィザードの指示に従います。
リスト ボックス内の項目は、特定の繰り返しフィールドまたは繰り返しグループに関連付けられている必要があります。
[エントリ] ボックスの横にある [Select XPath
] をクリックし、[フィールドまたはグループの選択] ダイアログ ボックスで、リスト ボックスの値を提供するフィールドを含むグループまたはフィールドをクリックし、[OK] をクリックします。[値] ボックスの横にある [XPath
を選択] をクリックし、リスト ボックス内の項目の使用可能な値を含むフィールドをクリックし、[OK] をクリックします。 これらの値の 1 つは、ユーザーがリスト ボックス内の項目をクリックすると、基になる XML に保存されます。[表示名] ボックスの横にある [XPath
] をクリックし、リスト ボックスに表示される値を含むフィールドをクリックし、[OK] をクリックします。ヒント
表示名の値がリスト ボックスに複数回表示されないようにするには、[一意の表示名を持つ項目のみ表示する] チェック ボックスをオンにします。
ユーザーが複数選択リスト ボックスの下部に値を入力できるようにする場合は、[ユーザー設定の値を入力できるようにする] チェック ボックスをオンにします。
レイアウトのヒント
次のヒントは、複数選択リスト ボックスの外観、サイズ、その他の側面を調整するのに役立ちます。
- 複数の複数選択リスト ボックスの幅を一度に変更するには、サイズを変更する複数選択リスト ボックスを選んで、Alt キーを押しながら Enter キーを押して、[サイズ] タブをクリックし、[幅] ボックスに新しい数値を入力します。
- 複数の複数選択リスト ボックスの背景色を一度に変更するには、変更する複数選択リスト ボックスを選び、[書式] メニューの [罫線と網かけの設定] をクリックして、[網かけ] タブで必要な調整を行います。
- 複数選択リスト ボックスのチェック ボックスの横に表示されるフォントをカスタマイズするには、[書式設定] ツール バーの [フォント] ボックスと [フォント サイズ] ボックスを使います。 フォーム テンプレート上のすべての複数選択リスト ボックスのフォントとフォント サイズを一度に変更するには、目的の書式を含む複数選択リスト ボックスをクリックして、[書式] メニューで [フォントをすべての複数選択リスト ボックス コントロールに適用] をクリックします。
- フォーム テンプレート上の複数選択リスト ボックスとそれを囲むオブジェクトの間隔を調整するには、[複数選択リスト ボックスのプロパティ] ダイアログ ボックスの [サイズ] タブで、余白設定を調整します。 余白を変更して間隔を広げると、段落を使用して間隔を広げるよりもより細かいコントロールができます。