他のアクションを実行するルールを追加する

適用先
InfoPath 2010 InfoPath 2013

検証ルールと書式設定ルールに加えて、ビューの切り替え、フィールド値の設定、データ接続へのクエリまたは送信など、他のアクションを実行するルールをフォーム テンプレートに追加することもできます。 たとえば、ユーザーが入力したデータが SharePoint に自動的に保存されるようにフォームをデザインしたり、[ 送信] をクリックしたり、ボタンをクリックしたときにビュー間を切り替えたりすることができます。

これらのルールは、フォーム フィールドの変更、ボタンのクリック、繰り返しテーブルへの繰り返しセクションまたは行の挿入、またはフォームの開始または送信によってアクティブ化できます。 これらのルールは、フォーム内のデータ、ユーザー ロール、またはフィールドの値に基づく条件にチェックします。 また、条件を設定する必要なく実行することもできます。

ルールごとに複数のアクションを追加することもできます。 たとえば、入力したデータを送信するボタンにルールを追加し、メッセージを表示するビューに切り替えて、データが送信されたことを確認できます。

この記事の内容

アクション ルールの種類と例

メッセージを表示する

フォーム内の特定の条件が満たされた場合にダイアログ ボックスを開くルールを追加できます。 たとえば、経費精算書フォームで、ユーザーが特定の量を超える値を入力すると、メッセージが表示される可能性があります。 メッセージ アクションの表示は、InfoPath Filler フォームでのみサポートされます。

フィールドまたは数式の値を表示する

このアクションを使用すると、フォーム上の異なるフィールドの値に基づいて、フィールドまたは計算に値を表示するルールを追加できます。 たとえば、ユーザーは、ユーザーが入力した日付を使用して、ホテル経費の到着日を出発日より前にする必要があることを通知できます。 InfoPath Filler フォームでのみサポートされているフィールドまたは数式アクションの値を表示します。

ビューの切り替え

ボタンをクリックするとビューを切り替えることができます。 これにより、ユーザーは戻るまたは次へをクリックして、2 つ以上のビュー間を移動できます。 フォームを開いたときにビューを切り替えるルールを追加することもできます。 たとえば、フォームを開くユーザーに関連付けられているロールに基づいてビューを切り替えることができます。 ビューの切り替えアクションは、ボタンと フォームの読み込みでのみ使用できます。

フィールドの値を設定する

ルールを使用してフィールドの値を設定すると、フォーム内の値を動的に変更できます。 たとえば、ユーザーが経費項目と経費の金額を入力する経費追跡フォームの [合計] フィールドでは、入力した経費の合計を追跡できます。 すべての経費の合計をユーザーが手動で入力する代わりに、フィールドの値の設定アクションで [合計 ] フィールドの値を自動的に設定できます。

データのクエリ

データ アクションのクエリを使用すると、外部データ ソースに対して情報のクエリを実行できます。 たとえば、ユーザーがフォームに従業員番号を入力したときに従業員情報を取得するためのクエリをデータベースに開始するデータ アクションのクエリを追加できます。

データを送信する

データの送信アクション ルールは、フォーム内のすべてのデータを送信します。 たとえば、データの送信アクションを使用して、ユーザーがフォームの [ 送信 ] ボタンをクリックしたときに、フォーム内のデータを Web サービスとデータベースの両方に送信する許可アプリケーションのルールをフォーム テンプレートに追加できます。

新しいフォームを開いて入力する

新しいフォームを開いて入力すると、このフォーム テンプレートまたは別のフォーム テンプレートに基づくフォームの新しいコピーを開くルールを追加できます。 たとえば、このルールをフォーム テンプレートに追加して、アプリケーションが次の操作を行うことを許可できます。経費フィールドの値が固定金額を超える場合、ルールは経費の項目化されたエントリを必要とする新しいフォームを開きます。 新しいフォームを開いてアクションを入力するのは、InfoPath Filler フォームでのみサポートされます。

フォームを閉じる

フォームを閉じるアクションを使用すると、指定したイベントがフォームで発生したときにフォームを閉じるルールを追加できます。 たとえば、ユーザーがフォームを送信し、外部データ ソースがフォームが正常に送信されたことを確認した後にフォームを閉じるルールを追加できます。 フォームを閉じるアクションは、ボタンでのみ使用できます。

Web パーツにデータを送信する

フォームで SharePoint Web パーツにデータを送信できるようにするには、[データを Web パーツに送信] アクションを追加します。 InfoPath Web ブラウザー フォームが SharePoint ページの InfoPath フォーム Web パーツ内でホストされ、別の Web パーツとの接続が構成されている場合、このルールは InfoPath フォームのデータを接続された Web パーツに送信します。 このルール アクションを正しく機能させるには、フォーム内のフィールドを Web パーツ接続パラメーターとして昇格させる必要があります。 SharePoint リスト フォームでは、すべてのフィールドが接続パラメーターとして自動的に昇格されます。

署名行に署名する

署名署名行アクションを使用すると、トリガーされると、ユーザーが署名するための指定された署名行コントロールを開くルールを追加できます。 たとえば、フォームに署名行コントロールがあり、署名行アクションを送信ボタンに追加すると、ユーザーが送信ボタンをクリックすると、署名行コントロールに署名するように求められます。

データ接続

データの照会、データの送信、または Web パーツへのデータの送信を行うアクション ルールを追加する場合は、ルールを追加する前に目的のデータ接続を既に確立しておくのが最善です。 

アクション ルールを追加する

[ルールの追加] ボタンを使用する

[ルールの追加] をクリックすると、定義済みの ルールを追加できます。

  1. アクションを追加するコントロールをクリックします。
  2. [ ホーム ] タブの [ ルール ] グループで、[ ルールの追加] をクリックします。

edf9252c-968b-47d1-9a39-fe38afa046b0

  1. [ If ] 列で、ルールが満たす必要がある条件の種類 ( [空白] など) をクリックします。
  2. [ アクション] 列で、[ データの送信] などのアクションをクリックします。 選択した条件によっては、追加情報が要求される場合があります。
  3. [ ルールの詳細 ] ウィンドウから追加するアクションの種類に応じて、次の操作を行います。

eba9e231-c1b7-4f55-94df-3176dfecf05c

  • メッセージを表示する

    • [ メッセージ ] フィールドにメッセージのテキストを入力し、[OK] をクリック します
  • フィールドまたは数式の値を表示する

    1. [式] ボックスに式を入力するか、[式] ボックスの横にある [関数cd3a49c0-a736-4b8c-819a-07018ca6805f] をクリックしてを作成し、[OK] をクリックします
      数式の詳細については、「 関数と数式の追加」を参照してください。
  • ビューの切り替え

    • [ ルールの詳細 ] ダイアログ ボックスで、[表示] ボックスからアクションが開始されたときにユーザーが切り替える ビュー をクリックします。
  • フィールドの値を設定する

    1. [フィールド] ボックスの横にある [フィールド f26c98b1-d382-4d00-89ad-422d443b00ed] をクリックします。

    2. フィールドをクリックして選択します。

    3. [OK] をクリックします。

    4. [ ] ボックスに値を入力するか、[ 関数cd3a49c0-a736-4b8c-819a-07018ca6805f ] をクリックして数式を入力します。

      数式の詳細については、「 関数と数式の追加」を参照してください。

  • データのクエリ

    • [データ接続] フィールドから受信データ 接続 をクリックするか、[ 追加 ] をクリックして新しいデータ接続を追加します。
      データ接続の詳細については、「データ 接続の概要」を参照してください。
  • データを送信する

    • [データ接続] フィールドからデータ 接続 の送信をクリックするか、[ 追加 ] をクリックして新しいデータ接続を追加します。
      データ接続の詳細については、「データ 接続の概要」を参照してください。
  • 新しいフォームを開いて入力する

    • [フォーム テンプレート ID] ボックスまたは [場所] ボックスにテンプレート ID またはフォーム テンプレートの場所を 入力し、[ OK] をクリックします。
  • フォームを閉じる

    • Web ブラウザー フォームの場合は [OK] をクリックするか、必要に応じて [変更が保存されていない場合] ボックスを選択して、フォームを閉じる前に保存するようにユーザーに求めるメッセージチェック表示します。
  • Web パーツにデータを送信する

    1. [ プロパティの昇格 ] をクリックして、Web パーツ接続パラメーターとして昇格するフィールドを選択します。
    2. SharePoint Web パーツ接続パラメーターの一覧の横にある [ 追加] をクリックして、[ フィールドまたはグループの選択 ] ダイアログ ボックスを表示します。
    3. フィールドをクリックします。
    4. [ パラメーター名 ] ボックスに、パラメーターの名前を入力します。
    5. [OK] をクリックします。
    6. 手順 2 ~ 5 を繰り返して、追加のフィールドを昇格します。
  • 署名行に署名する

    重要

    署名署名行ルールを追加する前に、署名行コントロールがフォームに追加されていることを確認して、ルールに署名するものがあることを確認します。

    1. [ 最初の署名行に署名する] で、一覧で、フォームから署名する署名行を示すメソッドをクリックします。
      fedeb0a4-66f3-449d-bed4-f4258ec67250
    2. 等しいボックスに 条件を入力するか、[ 関数cd3a49c0-a736-4b8c-819a-07018ca6805f ] をクリックして、条件に関数を使用します。
    3. 既定の署名イメージを使用するかどうか、および署名行がホスト ドキュメント内にあるかどうかを示し、[OK] をクリック します
      デジタル署名の詳細については、「 InfoPath 2010 のデジタル署名」を参照してください。
  • 追加のルールの処理を停止する場合は、[このルールの条件チェック満たされている場合は、[残りのルールを実行しない] ボックスをクリックします。

[ルール] 作業ウィンドウを使用する

[ ルール ] 作業ウィンドウからアクション ルールを追加するには、次の操作を行います。

  1. アクション ルールを追加するコントロールをクリックします。
  2. [ルール] 作業ウィンドウが表示されていない場合は、[ホーム] タブの [ルール] グループで [ルールの管理] をクリックします。

a09627ca-04e2-4457-bd71-488e3a946e6b

  1. [新規作成] をクリックします。

914e7d87-bf44-4761-9efb-dbd8f869eab8

  1. [ アクション] をクリックします。
  2. [ 詳細] テキスト ボックスに、ルールの名前を入力します。

73ed258e-b9f6-45a1-ac58-6a90f0518bb1

  1. [ 条件] で、[ なし] をクリックします。

  2. 次のように正しいオプションを選択します。

    • ルールの条件がフィールドに基づいている場合:

      1. フィールドをクリックするか、[フィールド またはグループを選択] をクリックします。
      2. 等しいなど、演算子 をクリックします
      3. 演算子の条件を入力します。
    • ルールの条件が式に基づいている場合:

      1. [ ] をクリックします。
      2. 式を入力します。
        詳細については、「 関数と数式の追加」を参照してください。

95513fcf-2f21-409e-8b18-4cb3cc170854

  1. [ And ] をクリックして別の条件を追加し、手順 7 を繰り返すか、条件の追加が完了したら [OK] をクリックします

2 つ目の条件を追加すると、[ And ] ボタンがボックスに置き換えられます。 データ 検証を 適用するために最初と後続の両方の条件が true である必要がある場合は、そのままにして選択します。 それ以外の場合、データ検証を適用するためにいずれかの条件のみを true にする必要がある場合は、 または をクリックします。

  1. [ ルール ] 作業ウィンドウで、[ 追加] をクリックし、追加するアクション ルールの種類をクリックします。

  2. 追加するアクションの種類に応じて、次の操作を行います。

    • メッセージを表示する

      • [ メッセージ ] フィールドにメッセージのテキストを入力し、[OK] をクリック します
    • フィールドまたは数式の値を表示する

      • [式] ボックスに目的の式を入力するか、[ ] ボックスの横にある [関数cd3a49c0-a736-4b8c-819a-07018ca6805f ] をクリックして を作成し、[ OK] をクリックします。
        詳細については、「 関数と数式の追加」を参照してください。
    • ビューの切り替え

      • [ ルールの詳細 ] ダイアログ ボックスで、[表示] ボックスからアクションが開始されたときにユーザーが切り替える ビュー をクリックします。
    • フィールドの値を設定する

      1. [フィールド] ボックスの横にある [フィールドf26c98b1-d382-4d00-89ad-422d443b00ed] をクリックします。
      2. 目的のフィールドをクリックして選択します。
      3. [OK] をクリックします。
      4. [ ] ボックスに目的の値を入力するか、[ 関数cd3a49c0-a736-4b8c-819a-07018ca6805f ] をクリックして数式を入力します。
        数式の詳細については、「 関数と数式の追加」を参照してください。
    • データのクエリ

      • [ データ接続 ] フィールドから適切な受信データ接続をクリックするか、[ 追加 ] をクリックして新しいデータ接続を追加します。
        データ接続の詳細については、「データ 接続の概要」を参照してください。
    • データを送信する

      • [データ接続] フィールドから適切な送信 データ接続 をクリックするか、[ 追加 ] をクリックして新しいデータ接続を追加します。
        データ接続の詳細については、「データ 接続の概要」を参照してください。
    • 新しいフォームを開いて入力する

      • [フォーム テンプレート ID] ボックスまたは [場所] ボックスにテンプレート ID またはフォーム テンプレートの場所を 入力し、[ OK] をクリックします。
    • フォームを閉じる

      • Web フォームの場合は [OK] をクリックするか、これがフィラー フォームの場合は、[変更が保存されていない場合] をクリックし、[チェック保存する] ボックスをユーザーに求めて、フォームを閉じる前に保存するように求めます。
    • Web パーツにデータを送信する

      1. [ プロパティの昇格 ] をクリックして、Web パーツ接続パラメーターとして昇格するフィールドを選択します。
      2. SharePoint Web パーツ接続パラメーターの一覧の横にある [ 追加 ] をクリックして、[ フィールドまたはグループの選択 ] ダイアログ ボックスを表示します。
      3. フィールドをクリックします。
      4. [パラメーター名] ボックスにパラメーターの 名前を 入力します。
      5. [OK] をクリックします。
      6. 手順 2 ~ 5 を繰り返して、追加のフィールドを昇格します。
    • 署名行に署名する

      署名署名行ルールを追加する前に、署名行コントロールがフォームに追加されていることを確認して、ルールに署名するものがあることを確認します。

      1. [ 最初の署名行に署名する] で、一覧で、フォームから署名する署名行を示すメソッドをクリックします。
      2. 等しいボックスに 条件を入力するか、[ 関数cd3a49c0-a736-4b8c-819a-07018ca6805f ] をクリックして、条件に関数を使用します。
      3. 既定の署名イメージを使用するかどうか、および署名行がホスト ドキュメント内にあるかどうかを示し、[OK] をクリック します
        デジタル署名の詳細については、「 InfoPath 2010 のデジタル署名」を参照してください。
  3. 選択したルールの処理後に追加のルールの処理を停止する場合は、[このルールの条件チェック満たされている場合は、[残りのルールを実行しない] ボックスをクリックします。

データのクエリまたは送信のためのパラメーターの設定

データの送信とデータ操作のクエリによって、データの送受信に対するデータ接続がアクティブになります。 データのクエリの場合は、フィールドの値アクション ルールを追加して目的のクエリ フィールドの値を設定することで、クエリされるデータを指定できます。

データ入力パターン

アクション ルールは、ユーザーがテキスト フィールドに入力するテキスト パターンに基づいて行うことができます。 たとえば、郵便番号を収集する場合は、ユーザーが正しい形式で入力することを確認できます。 同様に、ユーザーが電子メール アドレスを入力する場合は、テキスト、 @ 記号、ドメイン、ドメイン サフィックス ( .comなど) を含むパターンに入力を一致させることができます。

これを行うには、条件を構築するときに、[ 演算子 ] の一覧で [ パターンに一致] をクリックし、[ パターンの選択] をクリックします。 [ データ入力パターン ] ダイアログ ボックスが表示され、事前に定義された標準パターンから選択できます。 これらのパターンがニーズを満たしていない場合は、カスタム パターンを使用できます。

高度な条件シナリオ

アクション ルールの条件を設定するときに使用できる高度なシナリオを次に示します。

  • 式に基づいてルールを作成する

式は、値、フィールドまたはグループ、関数、および演算子のセットです。 式を使用して、フォームの現在の日付を自動的に含めるか、経費報告書に入力されたアイテムのコストを追加して合計を取得するように、このようなシナリオのフィールドの値を設定します。

  1. [ ] をクリックします。
  2. 2 番目のボックスに式を入力します。

関数と数式の詳細については、「 関数と数式の追加」を参照してください。

  • 署名可能なデータのセットに基づいてルールを作成する

フォームにデジタル署名が必要な場合は、フォームが署名されていない場合は、送信ボタンを無効にすることができます。 たとえば、ユーザーがデジタル署名を追加した後に、データの送信アクションをアクティブ化することもできます。 この条件は InfoPath Filler フォームでのみサポートされます。

  1. [ 署名可能なデータのセットの選択] をクリックします。
  2. [ 署名可能なデータのセットの選択 ] ダイアログ ボックスで、署名可能なデータのセットをクリックし、[OK] をクリック します
  3. 2 番目のボックスから目的の条件をクリックし、3 番目のボックスから必要な条件をクリックします。

デジタル署名の詳細については、「 InfoPath 2010 のデジタル署名」を参照してください。

  • ユーザーのロールに基づいてルールを作成する

管理者ビューや読み取り専用ビューなど、フォームに複数のビューがある場合は、現在のユーザーのロールに基づいてビューに切り替えるフォーム読み込みルールを作成できます。

  1. [ ユーザーの現在のロール] をクリックします。
  2. 等しいなど、演算子 をクリックします
  3. ロールまたはロールの 管理 をクリックして、ユーザー ロールを管理します。

ページの先頭へ