<第10回> |
エクスポート用のビュー 兵庫県立西宮香風高等学校 松本吉生 ymatsumoto@hyogo-c.ed.jp |
<<前のページへ | ||||
データを保存したInfoPathのフォームは、XMLデータである。Excel2003はXMLのインポート機能があるので、フォームのデータをそのまま読み込むことができる。しかし、XMLのインポート機能がないExcelのバージョンを使うときには、InfoPathからExcelファイル形式へのエクスポート機能を使う。
このとき、InfoPathのエクスポート機能では、表示しているビューに置かれたコントロールのフィールドデータだけがエクスポートされることになっている。そこで、ここで作った小テストのフォームのように、複数のビューにフィールドが分かれている場合には、データを一括してエクスポートできない。そこで、エクスポートのためのビューを作る必要がある。 |
||||
新しいビューの追加 | ||||
「化学の小テスト」のフォームをデザインビューで開き、「ビュー」作業ウィンドウから「新しいビューの追加」ボタンをクリックする。 |
||||
「ビューの追加」ウィンドウで、新しいビュー名を「エクスポート用」としよう。 |
||||
エクスポート用のビューができた。 | ||||
繰り返しテーブルの作成 | ||||
作業ウィンドウを「データソース」作業ウィンドウに変え、「マイフィールド」の下の「解答」繰り返しグループを選択し、ビューへドラッグする。 マウスのボタンを離すとメニューが出るので、「繰り返しテーブル」をクリックする。 |
||||
繰り返しテーブルができた。 この繰り返しテーブルは、「解答」グループのフィールドを全て含んでいる。各データのテキストボックスの大きさが不揃いだが、このフォームはデータを画面に表示させるためでなく、エクスポートするだけなので、このままでよい。 |
||||
エクスポート用のビューを既定にする | ||||
作業ウィンドウを「ビュー」作業ウィンドウにし、「エクスポート用」のビューを右クリックして「既定に設定」をクリックする。これで、このフォームを開いたときに、「エクスポート用」のビューが表示されることになる。 |
||||
「エクスポート用」のビューが既定になった。 |
||||
フォームテンプレートの保存 | ||||
これでエクスポート用のフォームが完成したので、「ファイル」−「名前を付けて保存」でフォームテンプレートを保存する。ファイル名は「化学の小テストエクスポート」のように、生徒が解答するフォームと異なる名前にする。 |
||||
エクスポート用フォームの利用 | ||||
エクスポート用のフォームを保存したら、フォームを開く。 |
||||
フォームを開くと新しいデータができるが、ここでは、すでに保存されたデータを読み込んでエクスポートするだけなので、繰り返しテーブルの行の左にある▽アイコンをクリックし、「解答の削除」を行う。 | ||||
未入力のフィールドを示す赤色のアステリスクが消え、全くデータが入っていないフォームになった。 | ||||
フォームの結合 | ||||
メニューから「ファイル」−「フォームの結合」をクリックし、ファイルとして保存された生徒の解答をフォームに呼び出して結合する。 |
||||
「フォームの結合」ウィンドウで、生徒が解答を保存したフォルダを選択し、「SHIFT」キーを押しながらファイルをクリックして、結合したい全てのファイルを選択し「結合」ボタンをクリックする。 |
||||
生徒の解答データが結合された。「解答5」は小論文なので、小さいフィールドに縦に長く文章が入っている。画面を下にスクロールすると、解答が結合されたことがわかる。 | ||||
エクセルファイルへのエクスポート | ||||
生徒の解答をすべて結合できたら、これをエクセルのファイル形式へエクスポートする。 「ファイル」メニューの「エクスポート先」−「Microsoft Office Excel」をクリックする。 |
||||
「Excel にエクスポート ウィザード」が動く。 |
||||
|
||||
ウィザードの2ページ目では、「フォームのフィールドと、このテーブルまたはリスト」にし、リストに表示された「解答(my:マイフィールド/my:解答)」を選択し、「次へ」をクリックする。 |
||||
次の画面では、エクスポートするデータを選択する。デフォルトでフォームに存在する全てのフィールドがチェックされているので、そのまま「次へ」ボタンをクリックする。 |
||||
エクスポートウィザードの最後に、「このフォームのみからデータをエクスポートする」が選択されていることを確かめ、「完了」ボタンをクリックする。 |
||||
「フォームをExcelにエクスポート中」とのメッセージウィンドウが表示され、自動的にエクスポートされたデータを表としてエクセルが起動する。 | ||||
このページのまとめ | ||||
XMLのインポート機能のないExcel2002以前を使う場合でも、InfoPathの「エクスポート」機能を用いてExcelファイルにデータを変換することができるのだ。このとき、すでに記録されたXMLデータがある場合は、InfoPathで「結合」の操作でXMLデータを結合し、まとめてエクスポートすることができる。 このときの注意点として、InfoPathからエクスポートされるデータは、エクスポートするときのビューに依存し、ビューにコントロールとして配置されたフィールドしかエクスポートされないことである。したがって既存のフォームを利用して全てのフィールドをエクスポートしたい場合は、エクスポート用に全てのフィールドを配置したビューを追加し、そのビューからエクスポートの操作をすればよい。 このシリーズは今回で終了する。次はこのような小テストをSQLServerをデータベースとして構築するものを紹介する予定だ。小テストの結果をデータベースに格納すれば、採点の自動化や学習の履歴管理ができるなどメリットが大きい。だがInfoPathでSQLServerに接続する場合、データを送信することとクエリを実行できるのは「メイン接続」だけである。解答テーブルと問題テーブルを別に作ったとき、解答テーブルをメイン接続で接続すると、問題テーブルはセカンダリ接続で行わなければならず、クエリを実行できない問題がある。この点を工夫するノウハウを公開する予定だ。楽しみにしていてほしい。 なお、このページでは、特に断りのない限り、Excel2003とInfoPath2003SP1を使って説明している。Excelの旧バージョンはXMLの対応が完全ではないので、同様の結果が得られないことをあらかじめ断っておく。筆者のメールアドレスはymatsumoto@hyogo-c.ed.jpだ。 |
||||
mailto:ymatsumoto@hyogo-c.ed.jp :←ここをクリックして筆者にメールを送る | ||||
matsumotoyshio.com 2006/02/03
|
||||