テキスト ボックスをカスタマイズする方法

適用先
InfoPath 2010 InfoPath 2013

フォーム テンプレートにテキスト ボックスを挿入した後、[テキスト ボックスのプロパティ] ダイアログ ボックスでプロパティと設定にアクセスして変更することで、 テキスト ボックス をカスタマイズできます。 ダイアログ ボックスを開くには、フォーム テンプレートで、プロパティを変更するテキスト ボックスをダブルクリックします。

次の表に、テキスト ボックスをカスタマイズする方法と、その理由を示すいくつかの方法について説明します。 表には、[ テキスト ボックスのプロパティ ] ダイアログ ボックスのオプションに関する詳細な手順情報はありませんが、使用可能なオプションの範囲を把握できます。

  • ブラウザー互換のフォーム テンプレートを設計する場合、[ テキスト ボックスのプロパティ] ダイアログ ボックスの特定の機能は使用できません。 たとえば、段落区切りはサポートされていません。
  • フォーム テンプレートがデータベース、スキーマ、またはその他の既存のデータ ソースに基づいている場合、コントロールのすべての側面をカスタマイズできない場合があります。 たとえば、コントロールのサイズは変更できますが、既存のデータ ソースから派生したフィールド名やグループ名は変更できない場合があります。
タブ タスク 詳細
データ 関連付けられているフィールド名を変更する 新しい空のフォーム テンプレートを設計するときに、コントロールの既定のフィールドまたはグループ名を、データ ソースを操作するときに識別しやすい名前に変更できます。 たとえば、"Salesperson" という名前のフィールドは、"field1" という名前のフィールドよりもわかりやすいです。
メモ: フィールド名を変更しても、データ ソース内のテキスト ボックスとフィールドの間のバインドは変更されません。 テキスト ボックスを別のフィールドにバインドする必要がある場合は、テキスト ボックスを右クリックし、ショートカット メニューの [ バインドの変更 ] をクリックします。
データ データ型を変更する 新しい空のフォーム テンプレートを設計するときに、コントロールの既定のデータ型を変更できます。 テキスト ボックスの既定のデータ型は Text (string) ですが、自由に変更できます。 たとえば、ユーザーが [トランザクション金額 ] テキスト ボックスに英国ポンドを入力する場合は、[整数 (整数)] データ型を選択し、テキスト ボックスに入力された値がポンド (£) 通貨記号で表示されるように書式設定オプションを選択できます。

データ型の詳細

テキスト ボックスで使用できるデータ型の一覧を次に示します。
  • テキスト (文字列) 名前、住所、電話番号、社会保障番号などのデータに使用します。
  • 整数 (整数) 正または負の整数 (1234、–1234、$1,234 など) に使用します。
  • 10 進数 (double) 小数点以下の桁数が 1234.12、–1234.12、$1234.12 などの数値に使用します。
  • True/False (ブール値) 1 (true) または 0 (false) のデータに使用します。
  • ハイパーリンク (anyURI) 汎用名前付け規則 (UNC) パスや Uniform Resource Locator (URL) などのハイパーリンクに使用します。
  • 日付 (日付) 2007 年 3 月 14 日や 2007 年 3 月 14 日などの日付に使用します。
  • 時刻 (時刻) 時間ベースの値 (午前 9:46:55 や 09:46 など) に使用します。
  • Date and Time (dateTime) 2007 年 3 月 14 日午前 11 時 30 分など、日付と時刻の両方に使用します。
データ 既定値を指定する ユーザーが最初にフォームを開いたときにコントロール内に既定のテキストを表示する場合は、[ ] ボックスにそのテキストを入力できます。 コントロールの既定値として、データ ソース内の別のフィールドの値を使用することもできます。 既定値は、フォーム (.xml) ファイルに常にデータとして保存されるという点で、プレースホルダー テキスト (この記事で後述) とは異なります。
データ 計算の結果を表示する 計算結果をコントロールに表示するには、[] ボックスの横にある [数式888d37c3-e2dd-4119-8922-6a7ed6128c8e] をクリックして、数式と関数をコントロールに関連付けます。 たとえば、テキスト ボックスを sum 関数と組み合わせて使用して、繰り返しテーブル内の数値の列を 合計 する数式を作成できます。 または、 today 関数を特定のテキスト ボックスに関連付け、ユーザーがフォームを開くと、そのテキスト ボックスに現在の日付が表示されるようにすることができます。
データ テキスト ボックスを必須にする コントロールにデータを入力するようユーザーに視覚的に通知するには、[空白にすることはできません] チェックボックスを選択します。 ユーザーがフォームを開くと、空白のままにしないようにリマインダーとして赤いアスタリスクがコントロールに表示されます。 ユーザーは、コントロールに値を入力するまでデータを送信できません。
データ データ検証を追加する [ データの検証] をクリックして、コントロールのデータ検証規則を指定します。 たとえば、パーツ番号を特定の形式 (3 つの数値、ダッシュ、さらに 2 つの数値) で入力する必要がある場合は、データ検証を使用して、ユーザーがこのパターンに準拠していることを確認できます。
データ ルールを適用する [ ルール] をクリックすると、ユーザーがコントロールの値を変更したときに 1 つ以上のアクションを自動的に実行するルールを作成できます。 たとえば、発注書フォームで、ユーザーが [金額 ] テキスト ボックスに 10 を超える数値を入力した場合、ルールを使用して、"一度に 10 個を超えるアイテムを注文すると出荷が遅れる可能性があります" というダイアログ ボックスを表示できます。ルールを使用して、更新された情報を外部データ ソースから自動的に取得することもできます。 たとえば、在庫購入フォームでは、ルールを使用して、フォームを開いたとき、またはユーザーが情報を要求したときに、テキスト ボックスにリアルタイムの株価情報を取得して表示できます。
ディスプレイ プレースホルダー テキストを表示する テキスト ボックスに入力するデータに関するガイダンスをユーザーに提供する場合は、[ プレースホルダー ] ボックスに説明テキストを入力できます。 たとえば、[ ホテルの日数 ] テキスト ボックスでは、プレースホルダー テキストを使用して、入力する必要があるデータの種類をユーザーに求めることができます。

既定値と同様に、ユーザーが最初にフォームを開くと、テキスト入力コントロール内にプレースホルダー テキストが表示されます。 ただし、プレースホルダー テキストは、次の 3 つの方法で既定値とは異なります。
  • プレースホルダー テキストは、フォーム (.xml) ファイルにデータとして保存されることはありません。
  • コントロール内で通常のテキストとして表示される既定値とは異なり、プレースホルダー テキストは常に淡色表示されます。
  • 既定値とは異なり、プレースホルダー テキストはブラウザー互換のフォーム テンプレートではサポートされていません。
ディスプレイ テキスト ボックスを読み取り専用にする ユーザーがコントロールの内容を変更できないようにするには、[読み取り専用チェック] ボックスを選択します。 たとえば、テキスト ボックスを使用して数式の結果を表示する場合、テキスト ボックスを読み取り専用にして、ユーザーがその結果を入力できないようにすることができます。 読み取り専用テキスト ボックスはフォームに淡色表示されませんが、ユーザーはテキスト ボックスに情報を入力できなくなります。
ディスプレイ スペル チェック機能またはオートコンプリート機能をオフにする ユーザーがテキスト入力コントロール内のテキストのスペルチェックを行ったり、そのコントロールのフォームに入力された以前のエントリを自動的に再利用したりできないようにするには、[スペル チェックを有効にする] ボックスと [オートコンプリートを有効にする] チェック ボックスをオフにします。これはどちらも既定で選択されています。 たとえば、適切な名前を表示するテキスト ボックスのスペル チェックを無効にすることができます。 フォームが多くのユーザー間で共有される場合など、プライバシー上の理由から AutoComplete を無効にすることができます。
ディスプレイ ユーザーが複数行のテキストを入力できるようにする テキスト ボックスに複数行のテキストを表示する場合は、[複数行のチェック] ボックスを選択します。 その後、テキスト ボックス内で段落区切りを許可するかどうかを決定できます。
ディスプレイ 段落区切りを有効にする [複数行チェック] ボックスを選択し、ユーザーがテキスト ボックスに情報の段落を入力できるようにするには、[段落区切り] チェックボックスを選択します。 これは、たとえば、ユーザーがテキスト ボックスでエッセイのような質問に回答するが、ユーザーが最終的にデータベースに送信するため、データをプレーンテキスト形式にする場合に便利です。 ブラウザーと互換性のあるフォーム テンプレートで [複数行チェック] ボックスを選択した場合、[段落の区切り] チェックボックスをオフにすることはできません。
ディスプレイ テキスト折り返しを有効にする [複数行チェック] ボックスを選択すると、[テキスト チェック折り返し] ボックスが自動的に選択され、ユーザーがテキスト ボックスに入力するときにテキストが 1 行から別の行に流れていきます。 テキスト折り返しが有効になっている場合は、[スクロール] リストで スクロール オプションを 選択できます。 たとえば、ユーザーがテキスト ボックスに既定で表示できるテキストよりも多くのテキストを入力したときに、テキスト ボックスにスクロール バーを表示させることができます。 スクロール オプションが正しく機能するには、テキスト ボックスの高さと幅を固定する必要があります。 ブラウザーと互換性のあるフォーム テンプレートで [複数行チェック] ボックスを選択した場合、[テキストチェック折り返し] ボックスをオフにしたり、[スクロール] ボックスの一覧でオプション指定したりすることはできません。
ディスプレイ 文字を制限する テキスト ボックスに文字数制限を割り当てるには、[テキスト ボックスをチェックに制限する] ボックスを選択し、許容文字数を入力します。 たとえば、人事フォーム テンプレートでは、この機能を使用して、 ユーザーが従業員 ID テキスト ボックスに 5 文字以上入力できないようにすることができます。 フォーム テンプレートがデータベースまたは外部 XML スキーマに接続されていて、そのデータ ソースに既存の文字長の要件がある場合、ユーザーがフォーム テンプレートに基づいてフォームに入力するときにこれらの制限を超えると、Microsoft Office InfoPath によってデータ検証エラーが自動的に表示されます。 ユーザーがコントロールの文字制限に達した後、フォームの次のコントロールにカーソルを自動的に移動するには、[制限に達したときに次のコントロールに自動的に移動する] ボックスチェック選択します。 ブラウザーと互換性のあるフォーム テンプレートでは、カーソルを次のコントロールに自動的に進める機能はサポートされていません。
ディスプレイ 条件付き書式を追加する [ 条件付き書式 ] をクリックして [ 条件付き書式 ] ダイアログ ボックスを開きます。このダイアログ ボックスでは、ユーザーがフォームに入力した値に基づいてコントロールの表示設定を含め、コントロールの外観を変更できます。 たとえば、売上レポート フォーム テンプレートでは、条件付き書式を使用して、使用した金額が予算額より大きいことをユーザーに通知できます。
標本数 サイズ、パディング、余白を調整する [ 高さ ] ボックスと [ ] ボックスに値を入力することで、コントロールのサイズを手動で指定できます。 コントロールの内容を囲むバッファー領域の量であるパディング、またはコントロールの境界線とフォーム テンプレート上の周囲のテキストまたはコントロールの間の領域の量である余白を変更することで、コントロールの内側と外側の両方の間隔を調整することもできます。
標本数 テキスト ボックスをラベルに合わせる コントロール内のテキストをラベルに合わせるには、[ 配置 ] ボタンをクリックします。 InfoPath は、必要に応じてコントロールの高さ、下パディング、および下余白の設定を自動的に調整します。
詳細設定 ヒントを指定する ユーザーがコントロールの上にポインターを移動したときに説明をメモするには、[ヒント] ボックスに目的のテキストを入力します。 画面上の情報を合成された音声や更新可能な点字ディスプレイとして利用できるようにするスクリーン レビュー ユーティリティなどのアクセシビリティ支援は、多くの場合、これらのヒントを使用してユーザーの情報を解釈します。
詳細設定 タブ インデックスの順序を変更する フォーム テンプレートのタブ オーダー全体でコントロールの位置を変更できます。 タブ オーダーは、ユーザーが Tab キーまたは Shift キーを押しながら Tab キーを押すと、1 つのフィールドまたはオブジェクトから次のフィールドまたはオブジェクトにフォーカスが移動する順序です。 フォーム テンプレート内のすべてのコントロールの既定のタブ インデックス設定は 0 ですが、タブ オーダーは 1 から始まります。 つまり、ユーザーが Tab キーを押すと、 Tab インデックス ボックスに 1 を持つコントロールが最初にアクセスされます。 [タブ インデックス] ボックスに 2 を持つコントロールは、2 番目に表示されます。 [タブ インデックス] ボックスに 0 を持つコントロールは、タブ オーダーで最後に表示されます。 タブ オーダーでコントロールをスキップする場合は、[タブ インデックス] ボックスに「-1と入力します。
詳細設定 ショートカット キーを割り当てる [ アクセス キー ] ボックスに文字または数字を入力して、キーボード ショートカットを指定できます。 キーボード ショートカットを使用すると、ユーザーはマウスを動かすのではなく、キーストロークの組み合わせを押してコントロールに移動できます。 フォーム テンプレートでキーボード ショートカットを使用する場合は、ショートカットが存在することをユーザーに伝える必要があります。 たとえば、テキスト ボックス ラベルの後に 「(ALT + S)」 と入力して、 Salesperson テキスト ボックスのキーボード ショートカットがあることをユーザーに知らせましょう。
詳細設定 マージ アクションを指定またはカスタマイズする [ マージ設定] をクリックして、複数のフォームを組み合わせたときにユーザーがコントロールに入力するデータの表示方法を指定します。 たとえば、テキスト ボックスのテキストの前に特定の単語を付けたり、テキスト ボックスの項目にセミコロンを区切ったりすることができます。
詳細設定 テキスト ボックスの ViewContext 識別子を取得する ViewContext 値を使用して、コード内のコントロールを識別できます。 たとえば、ViewContext 値がわかっている場合は、View オブジェクトの ExecuteAction メソッドでその値を使用して、コントロールにバインドされている XML データに対して編集アクションをプログラムで実行できます。
詳細設定 入力スコープを指定してカスタマイズする [ 入力スコープ] をクリックして、コントロールを対象とするユーザー入力の種類を指定します。 これは、コントロールの手書き入力と音声入力の認識を向上させるのに役立ちます。 たとえば、コントロールに IS_URL 入力スコープを使用する場合、InfoPath は単語間のスペースを無視することを認識します。
ブラウザー フォーム データをサーバーにポストバックするための設定をカスタマイズする [ ブラウザー フォーム ] タブは、ブラウザーと互換性のあるフォーム テンプレートを設計している場合にのみ表示されます。 これにより、ユーザーがテキスト ボックスのデータを変更したときにデータをサーバーに送信するかどうかを制御できます。