フォーム データを送信および保存する
適用先
データ送信接続を追加すると、ユーザーはフォームに入力した情報を、完了後に指定されたデータ ソースに送信できます。 これにより、同僚に昼食の好みを尋ねるオフィス間投票と同じくらい簡単なフォームを設計し、結果を電子メールで送信したり、ローン アプリケーションの情報を収集し、そのデータを SharePoint サーバーに送信するフォームのように複雑にしたりできます。
この記事の内容
データ接続の送信について
ユーザーがフォームを送信すると、ユーザーはフォームへの入力が完了します。 その時点で、データは送信データ接続を介して送信され、SharePoint フォーム ライブラリなどの外部データ ソースに情報が保存されます。 これは、フォームを保存する行為とは異なります。 たとえば、フォーム デザイナーとしてフォームを保存すると、フォームの開発の進行状況が保存され、Wordドキュメントを保存するときと同様に、後で作業を続けることができます。 同様に、ユーザーがフォームに入力するときに、後でフォームに戻ることができるように、フォームに入力した進行状況を保存するためにフォームを保存できます。 ユーザーがフォームを保存した場合でも、フォームへの入力が完了したら、フォームを送信する必要があります。
Web サービスまたは SharePoint リストに基づく新しいフォームを設計すると、その初期データ接続がフォームの既定のプライマリ送信データ接続になります。 InfoPath は、プライマリ データ接続のデータ フィールドの構造を反映するため、フォームを送信するときに含まれる値を設定できます。 また、フォームを最初から開始し、データ接続に基づいていないフォーム テンプレートに送信データ接続を追加したり、送信データ接続が既にある場合に追加のデータ接続を追加することもできます。
ほとんどのフォームは、1 つの送信データ接続を持ち、フォーム内のすべてのデータを送信するように構成されていますが、複数の送信データ接続を使用すると、ルールまたはカスタム コードを使用して、どのフィールドがどのデータ ソースに送信されるかを制御できます。 たとえば、ユーザーが完成したフォームを Web サービスや電子メール メッセージを通じて送信できるようにフォームを構成できます。
フォームは、指定したルールに基づいて送信されます。 送信ルールをボタンに追加すると、ユーザーが送信をクリックしたときにフォームが送信されるようにしたり、ユーザーがフォームに入力するときに発生する他のイベントに基づいてフォームを作成したりできます。
アクション ルールと送信データ アクションの詳細については、「 他のアクションを実行するためのルールを追加する」を参照してください。
データ接続の種類を送信する
次の種類の送信データ接続を作成できます。
注
データをリモート ソースのデータ ソースに送信する送信データ接続を追加するには、データ ソースの場所と管理者からのアクセス権が必要です。
Web サービス (SOAP) Web サービス送信データ接続は、SOAP (Simple Object Access Protocol) Web サービスに送信されます。 SOAP は、Web サービスとの通信に使用される XML メッセージを定義する通信プロトコルです。 Web サービス接続を介してデータを送信する場合、InfoPath は Web サービスで必要なデータを決定し、その情報に基づいて、フォーム内のデータを Web サービスに送信する必要があるフィールドを指定できます。
SharePoint ライブラリ接続 このオプションを使用すると、InfoPath フォームでデータをドキュメントとして SharePoint ドキュメント ライブラリに送信できます。
Emailメッセージ InfoPath が電子メール メッセージでフォームの応答を送信できるようにします。 これは、大規模な応答がフォームの応答を受け取るユーザーを圧倒しない小規模なフォーム展開に役立ちます。
ASP.NET ページやホスティング アプリケーションなどのホスティング環境 これは、実際にはデータを送信せず、フォームをホストしているアプリケーションまたは ASP .NET ページでイベントを発生させる高度な送信オプションです。 これは、 FormControl クラスを使用してフォームをホストする Windows アプリケーションを Visual Studio でビルドする場合、または XMLFormView クラスを使用してフォームをホストする ASP .NET ページを作成するときに使用されます。 この送信の種類は、SharePoint ワークスペースのフォーム ツールを作成するときにも使用されます。
Web サーバー (HTTP) Web サーバー (HTTP) オプションには、[ データ ] タブの [ 送信フォーム ] グループで [ 送信オプション] をクリックしてアクセスできます。 これにより、指定された URL に HTTP POST の本文としてフォーム全体を送信するデータ接続を作成できます。 宛先 URL には、ASP.NET アプリケーション、CGI スクリプト、ISAPI を使用するアプリケーションなど、Web サーバー上のアプリケーションを指定できます。
注
フォームは、Web サーバー上のアプリケーションにデータを送信するデータ接続を 1 つだけ持つことができます。
外部データを送信する接続を追加する
送信データ接続を追加するには、次の 2 つの方法があります。
- [ データ ] タブの [ 送信 ] フォーム グループで、追加するデータ ソースの種類に対応するボタンをクリックします。
- [ データ ] タブの [ 外部データの取得 ] グループで、[ データ接続] をクリックし、次の操作を行います。
- [追加] をクリックします。
- [ データの送信] をクリックします。
- [次へ] をクリックします。
- 目的のデータ ソースをクリックし、もう一度 [ 次へ ] をクリックします。
送信データ接続の追加を開始するために使用する方法に関係なく、後で次のように適切なオプションを続行します。
送信データ接続を構成する場合、多くの場合、関数と数式を使用できます。 InfoPath の関数と数式の詳細については、「InfoPath 2010 での数式と関数の追加」を参照してください。
メール
- [宛先] ボックスに、フォームの送信先のメール アドレスまたはアドレス を 入力します。
フォームがカーボン コピーされる場合、またはブラインド カーボンが他のユーザーにコピーされる場合は、[ Cc ] ボックスと [Bcc ] ボックスに目的のメール アドレスを入力します。
[件名] ボックスにフォーム応答の 件名 を入力します。
[概要] ボックスに、フォーム受信者に表示される 概要 を入力します。
[次へ] をクリックします。
ユーザーがフォームへの入力を完了した後にフォームを送信する方法を選択します。
メール本文のフォームの現在のビューのスナップショットのみを送信する場合は、[フォームのアクティブなビューのみを送信し、添付ファイルなし] をクリックします。
注
フォームは、受信者が入力したり操作したりすることはできません。これは、送信時の現在のフォーム ビューのスナップショットにすぎません。
現在のビューと追加のビューの両方を含むフォーム全体を添付ファイルとして送信する場合は、受信者がフォームに入力できるように、[ 添付ファイルとしてフォームを送信する] を選択し、[ 添付ファイル名 ] ボックスに添付ファイルの名前を入力します。
[次へ] をクリックします。
データ接続の名前を入力し、これが既定の送信接続であるかどうかを示します。
SharePoint ライブラリ
注
既存のフォームにデータを SharePoint リストに送信するための接続を追加することはできません。 このような接続を作成するには、SharePoint リストをカスタマイズするか、SharePoint リスト テンプレートを使用して新しいフォームを作成することで、SharePoint 内から開始する必要があります。 SharePoint リスト フォームのカスタマイズの詳細については、「 SharePoint リスト フォームのカスタマイズ」を参照してください。
- [ ドキュメント ライブラリ ] ボックスに SharePoint サーバーの場所を入力します。
- [ ファイル 名] ボックスにフォームの名前を入力し、同じ名前のフォームが既に存在する場合に InfoPath がフォームを上書きするかどうかを指定し、[ 次へ] をクリックします。
フォームの名前で関数と数式を使用する方法については、「 InfoPath 2010 で数式と関数を追加する」を参照してください。
- ボックスにデータ接続の名前を入力し、既定の送信データ接続になる場合は、[既定の送信接続チェックとして設定する] ボックスを選択します。
Web サービス (SOAP)
- SOAP 接続をホストしている Web サーバーの URL を入力するか、[ UDDI の検索 ] をクリックしてサーバー接続を検索し、[ 次へ] をクリックします。
- データを送信する Web サービスを選択します。
- [次へ] をクリックします。
- 各パラメーターについて、[フィールドまたはグループ] をクリックして関連付けるフィールド またはグループを選択し、[ 変更] をクリックするか、[ フォーム全体 ] をクリックしてすべてのデータをフォームに含めます。
- [次へ] をクリックします。
- ボックスにデータ接続の名前を入力し、既定の送信データ接続になる場合は、[既定の送信接続チェックとして設定する] ボックスを選択します。
ASP.NET ページやホスティング アプリケーションなどのホスティング環境
これは、カスタム コードを使用する必要がある高度なプログラミング オプションであり、その結果、ここでは説明しません。 関連するクラスとコマンドの一部については、次のリンクを参照してください。
- SubmitToHostConnection クラスの詳細については、「SubmitToHostConnection クラス」を参照してください。
- FormControl クラスの詳細については、「FormControl クラス」を参照してください。
- XMLFormView クラスの詳細については、「XmlFormView クラス」を参照してください。
SharePoint 接続ライブラリ
SharePoint データ接続ライブラリは、外部データ ソースへの接続に使用する設定を格納するデータ接続ファイルを含めることができるライブラリです。 SharePoint 接続ライブラリに含まれるデータ接続ファイルは、Web サービス接続または SharePoint ライブラリ接続を記述でき、Filler とブラウザー互換のフォーム テンプレートの両方で使用できます。 SharePoint データ接続ライブラリを使用する利点の一部を次に示します。
- 複数のフォームで同じデータ接続ファイルを使用できるため、フォームごとに同じデータ接続をゼロから作成する必要はありません。
- 外部データ ソースの場所または接続設定が変更された場合は、各フォームではなく、データ接続ファイルのみを更新する必要があります。
- データ接続ファイルには、ユーザーがブラウザーを使用してフォームに入力するときにサーバーで使用できる代替認証情報を含めることができます。
- 完全な信頼セキュリティ レベルを持たないブラウザーで入力されたフォームは、フォーム内のすべてのデータ接続でデータ接続ファイルが使用されている場合、別のドメイン内のコンピューターに接続できます。
ユニバーサル データ接続の詳細については、「 ユニバーサル データ接続 v2.0 リファレンスとスキーマ」を参照してください。
SharePoint データ接続ライブラリで定義されている接続にデータを作成して送信する
サーバーにデータ接続ファイルがまだ存在しない場合は、次の手順を実行してデータ接続ファイルを作成します。
注
InfoPath は、電子メールまたはホスティング環境接続用のデータ接続ファイルを作成できません。
- 「 外部データを受信する接続を追加する 」で説明されている手順に従って、データ接続ファイルを作成するデータ接続の種類を追加します。
- [ データ ] タブの [ 外部データの取得 ] グループで、[ データ接続] をクリックします。
- 目的のデータ接続を選択し、[ 接続ファイルに変換] をクリックします。
- データ接続ライブラリの URL を入力し、テキスト ボックスの末尾にファイル名を追加するか、[ 参照 ] をクリックして目的の場所を参照してファイル名を入力し、[ 保存] をクリックします。
注
データ接続ライブラリの完全な URL とファイルを入力する必要があります。 たとえば、http://department/site/dataconnectionlibrary/file.udcx、http://department/site/dataconnectionlibrary はデータ接続ライブラリの URL で、file.udcx は、作成する新しいデータ接続ファイルのファイル名です。 このファイルがサーバーに既に存在する場合は、同じ名前の別のファイルを作成すると、サーバー上のコピーが上書きされます。
- [OK] をクリックします。
- [閉じる] をクリックします。
- SharePoint データ接続ライブラリを参照し、必要に応じて、作成された UDC ファイルをチェックインして承認します。
SharePoint データ接続ファイルを介してデータ接続を追加するには、次の手順を実行します。
- [ データ ] タブの [ 送信フォーム ] グループで、[ その他の場所へ] をクリックし、[ SharePoint Server 接続へ] をクリックします。
- [ サイト ] ドロップダウンから目的のサーバーを選択します。
- 目的のデータ接続ファイルを選択します。
- [次へ] をクリックします。
- 「 外部データを受信するための接続を追加する」に示すように、選択したオプションの手順に従います。
目的の SharePoint サイトがリストに含まれていない場合は、次の手順を実行してリストに追加します。
- [ サイトの管理] をクリックします。
- [追加] をクリックします。
- [URL] ボックスに SharePoint サイトの URL を 入力し、[ 表示名 ] ボックスに名前を入力します。
送信オプションを構成する
送信データ接続を追加すると、InfoPath は、既定のデータ接続を介して送信されるようにフォームを構成します。 これらのオプションは、[ 送信オプション ] ダイアログ ボックスで構成できます。 [ 送信オプション ] ダイアログ ボックスを開くには、[ データ ] タブの [ 送信フォーム ] グループで [ 送信オプション] をクリックします。
[ 送信オプション] 画面では、次の方法でフォームの送信オプションを構成できます。
- フォームを送信するユーザー機能を有効または無効にします。
- 1 つの宛先、ルール、またはカスタム コードを使用して、フォームを送信する方法を選択します。
ルールまたはカスタム コードを使用すると、ユーザーが [送信] をクリックしたときに、複数のデータ接続を介してデータを送信するようにフォーム を構成できます。 たとえば、経費精算書フォームを設計する場合は、金額が $1,000 以下の場合は 1 つの SharePoint ドキュメント ライブラリにフォームを送信したり、金額が 1,000 ドル以上の場合に詳細な調査を必要とするフォーム用に別の SharePoint ドキュメント ライブラリに送信したり、ユーザーの上司に電子メールでフラグを設定したりできます。
- InfoPath Filler の [リボンと情報] タブの [送信] ボタンを追加または削除します。
- フォームを送信するときにユーザーに表示するカスタム メッセージを作成します。
- フォームを開いたままにするか、フォームを閉じるか、フォームの送信後に別の空白のフォームを開くかを指定します。
送信オプションを構成するには、必要に応じて次の操作を行います。
ユーザーがフォームを送信できるようにするには、[ ユーザーにこのフォームの送信を許可する ] ボックスがオンになっていることを確認します。
フォームの送信方法を指定するには、次の操作を行います。
フォームがデータの送信に使用する送信データ接続が 1 つだけあり、高度な機能が必要ない場合は、[ フォーム データを 1 つの宛先に送信する] をクリックし、次のように構成します。
- 上部のドロップダウン リストから使用する接続の種類を選択します。
- [送信するデータ接続の選択] ボックスの一覧から個々 のデータ接続を選択 します。
データ接続が存在しない場合は、[ 追加 ] をクリックし、接続をセットアップする手順については、「 接続を追加して外部データを受信 する」を参照してください。
複数の送信データ接続がある場合、または送信アクションを制御するルールを追加する場合は、[ ルールを使用してカスタム アクションを実行する] をクリックします。 アクション ルールを設定する方法の詳細については、「 他のアクションを実行するためのルールを追加する」を参照してください。
ルールで実現できない複雑なコード、複数のデータ接続、または部分的な提出が必要な場合は、[ コードを使用してカスタム アクションを実行する] をクリックします。
リボンの [送信] ボタンに表示されるラベルを変更するには、[ ラベル ] ボックスに目的のテキストを入力します。 または、[ 送信 ] ボタンを完全に無効にするには、前のチェック ボックスをオフにします。
送信エラー メッセージを設定するには、[ 詳細設定] をクリックし、[ フォームの送信が失敗した場合にこのメッセージを表示 する] ボックスを選択し、次のテキスト ボックスに目的のメッセージを入力します。
提出成功メッセージを設定するには、[ 詳細設定] をクリックし、[ フォームが正常に送信された場合にこのメッセージを表示 する] ボックスを選択し、次のテキスト ボックスに目的のメッセージを入力します。
フォームの送信後に実行されるアクションを制御するには、[ 送信後 ] ボックスの一覧から目的のアクションを選択します。