【SharePoint 2010】 InfoPath 2010 (2013) を利用したアンケートフォームの作成方法
SharePoint 2010 に既定で提供されいているアンケート機能では、カスタマイズが難しく、また、機能も多く無いためアンケート作成者にとっても、回答者にとっても使いずらい。もちろん、シンプルアンケートであれば管理者を返さず、ユーザーのみでアンケートを作成し、情報を収集できるため便利なことは間違いない。
下記のような使い分けを検討する。
✅ 既定のアンケート
・質問数が少ない
・ページ遷移、分岐ロジックを使用しない
・ファイルを添付する必要が無い
✅ InfoPath フォームアンケート
・質問数が多い
・表形式で回答したい
・ページ遷移、分岐ロジックを使いたい
・ファイルも添付したい
とゆーことで、まずは、一般的なInfoPath フォームアンケートを作ってみる。
✅ 前提条件
・InfoPath をインストールしていないユーザーもいるため Web (IE、Chrome) で回答できるように、Web ブラウザ フォーム で作成する。
・既定の機能だけ実施し、コード署名証明書を利用しないフォームを作成。
・IE の [セキュリティ] で [ローカル イントラネット] に登録されている SharePoint サイトに作成する。
・IE の [プライバシー] で [すべての Cokke をブロック] になっていないこと。
✅ 検証手順
1. InfoPath Designer 2013 (2010) を起動します。※ 画像は 2013 のものです。2010でも試しましたが変わりはないです。
2. [空白のフォーム] をダブルクリックします。
3. 表示されたフォームを以下のように修正してみます。
※ 表の挿入や、コントロールからボタンを追加しただけです。
4. 入力箇所は、併せて、10 箇所あるのでフィールドに追加していきます。
4-1 [フィールド] から [追加] をクリックします。
4-2. 名前に [所属部署] と入力し、[OK] をクリックします。
4-3. これを、すべての項目に対して実行します。※ ここで入力した名前は SharePoint のライブラリの列名として登録されます。
5. 各項目に作成したフィールドをバインドします。
5-1. 所属部署にカーソルを合わせます。
5-2. 上記の状態で、[マイフィールド] の [所属部署] を右クリックし、[テキストボックス] を選択します。※ 今回は全て、テキストボックスですが、適宜他のボックスも使ってください。
5-3. 下記のように、バインドされます。そして、これをすべての項目に対して実施します。
5-4. この状態で [プレビュー画面] をクリックして、各項目に入力できるか確認します。
5-5. 下記のように 10 箇所入力できる欄が表示されていればOKです。
6. [ファイル]-[フォームの詳細オプション] より、[互換性] を選択します。
7. [フォームの種類] で "Web ブラウザ フォーム (InfoPath 2010)" を選択します。
※ SharePoint 2010 は、InfoPath 2010 フォームである必要があるため。
8. SharePoint 2010 サイト上に、InfoPath ライブラリフォームを発行します。
8-1. [ファイル]-[フォームの発行]-[ShrePoint ライブラリへフォームを発行] をクリックします。
8-2. サイトのURL を入力し、[次へ] をクリックします。
サイト名: http://sps01:55/sites/test/
私の場合は、55のWebアプリケーションに、test サイトコレクションを作っています。
8-3. 既定で以下のようになっていると思いますので、そのままで [次へ]
8-4. [新しいフォームライブラリ] を作成するで、[次へ]
8-5. ライブラリ名を [カレンダー申し込み] とし、[次へ]
8-6. 列をここで作成します。[追加]から下記のように設定し、[OK] をクリックし、列名を追加していきます。全部の項目を追加したら、[次へ]
8-7. 確認画面がでるので、[発行] をクリックします。
8-8. もし、下記のように、Webブラウザで開けませんとの互換性がないですよ。という警告が出た場合は、改めて、Sharepoint と フォームの種類が同じバージョンか確認してください。下記は、InfoPath 2013 で作成した状態で、ShrePoint 2010 に発行すると出力されますが、フォームの種類で、Infopath 2010 を選択することで回避できみあす。
9. 発行した URL にアクセスします。
10. [ドキュメントの追加] をクリックすると、フォームが開きます。
※ InfoPath で開いてしまう場合は、ライブラリの設定から、[ブラウザで開く] に設定が入っていることを確認します。多くのSharePoint ではサイトコレクション側で、既定でクライアントアプリケーションで開くに設定が入っているかと思います。
11. また、[回答] ボタンを設定してないのでこれから設定してきます。
11-1. [データ]-[SharePoint ライブラリ] をクリックします。
ドキュメントライブラリ: <先ほど作ったライブラリのURL>を記載します。
ファイル名: ライブラリに投稿するさいのファイル名を決めます。
[設定]
ドキュメントライブラリ: http://sps01:55/sites/test/DocLib/
ファイル名: concat("カレンダー", 従業員番号)
11-2. [数式の確認] からエラーがないことを確認します。
11-3. 下記のように設定し、[次へ] をクリックします。
11-4. 既定のまま、[完了] をクリックします。
12. ボタン押した時のルールを設定します。
12-1. [回答] ボタンをクリックし、[ホーム]-[ルールの追加]-[このボタンがクリックされたとき]-[データの送信] をクリックします。
12-2. データ接続が、先ほど作った "接続名" であることを確認し、[OK] をクリックします。
12-3. データを送信した後、フォームを閉じる設定をいれるため、先ほど作った規則から [追加]-[フォームを閉じる] をクリックします。
12-4. 既定のまま、[OK] とします。
13. 再度発行します。
14. 発行が完了したら、URLにアクセスします。
15. 試しに、投稿してみます。(Chrome です。)
16. 投稿が確認できました。
今回は以上です。
次回は以下の設定について記載します。
・Webフォームで保存や印刷などを禁止にする。
・配送先を、ドロップダウンボックスにする。
・部数を、半角数字のみ入力を許可する。
・投稿者は、自分のアイテムしか閲覧できない。(http://exchange-sharepoint.hatenablog.jp/entry/2015/12/02/202817 で済)
・個人情報をプロファイルから自動取得