<第9回>

解答の保存と集計

兵庫県立西宮香風高等学校 松本吉生

ymatsumoto@hyogo-c.ed.jp

 
<<前のページへ
 
 

解答者が小テストを問題1から問題5までやり終えると、解答データを含むフォームを保存しなければならない。最後のページでは、保存のしかたを書いておき、解答データ正しく保存することをユーザーに伝えることとする。

保存されたフォームはXML形式で個々の生徒の解答データを含んでいる。複数の生徒の解答データをInfoPathで「結合」という操作でまとめることができる。Excel2003はXMLのインポート機能があるので、で読み込み、採点することができる。

   
ビューの選択
   
 

「ビュー作業ウィンドウ」から「終了ページ」のビューを選択する。このビューには、問題5へ戻るボタンがすでに作ってある。

   
 
   
保存方法を書く
   
 

問題が終了したこと、解答データを保存すること、を直接ビューに書く。この部分は、各学校のネットワークなど実情に応じて書いてもらいたい。

   
 
   
終了ボタンの作成
   
 

これでフォームは完成である。フォームを保存した後は、InfoPathを終了すればよい。しかし「終了」ボタンがあれば、終了操作がよりわかりやすいので、「終了」ボタンを作ってもよい。

作業ウィンドウを「コントロール」作業ウィンドウに変更し、「ボタン」をクリックしてボタンを追加する。

   
 
 
   
ボタンの動作規則
   
 

新しく追加したボタンを右クリックし、「ボタンのプロパティ」をクリックする。

   
 
   
  まず「ラベル」を「終了」に変更する。
   
 
   
  次に「動作規則」をクリックし、ボタンの動作規則を設定する。
   
 
   
  「動作規則」ウィンドウで「追加」のボタンをクリックする。
   
 
   
  「名前」を「フォームの終了」とし、「動作の追加」ボタンをクリックする。
   
 
 
   
 

「動作」ウィンドウで「動作」をクリックし、ドロップダウンリストから「フォームを閉じる」を選択する。

   
 
 
   
 

「変更が保存されていない場合、ユーザーに保存確認のメッセージを表示する」のチェックボックスをチェックしておけば、保存せずに終了してしまう危険を避けることができる。

「OK」ボタンをクリックして、動作の設定を終了する。

   
 
   
 

「動作」として「このフォームを閉じる:確認のメッセージを表示する」とあり、設定した動作がわかる。「動作規則」のウィンドウを「OK」で閉じる。

   
 
   
 

これで「フォームの終了」動作規則を設定できた。「OK」ボタンをクリックする。

   
 
   
  「ボタンのプロパティ」ウィンドウも「OK」ボタンをクリックして終了しよう。
   
 
   
 

「終了」ボタンが設定でき、これでフォームは完成した。

   
 
   

フォームのプレビュー

   
 

「フォームのプレビュー」をクリックし、動作を確認しよう。

   
 
 
   

解答の保存

   
 

この小テストフォームを使って、生徒に小テストを解答させるとき、解答データは「学籍番号+氏名」のように、個々の生徒が区別できるようなファイル名をつけさせ、共通の特定のフォルダに保存させることにしたい。

このとき、アクセス権を「フルコントロール」にした共通のフォルダにデータを保存させると、他人の解答を見ることができるようになり、不都合がある。

そこで権限を「書き込み」だけにしておく共通のフォルダを用意するが、InfoPathから直接そのフォルダに保存をするとエラーになる。これは、保存のときに一時ファイルが作られ、それが変更できないためにエラーになると思われる。

そこで、各生徒は、まず「マイドキュメント」など自分しかアクセスできないフォルダに解答を保存し、それをドラッグアンドドロップで、書き込みしかできない共通フォルダにコピーして提出させるという手順で解答ファイルを集めるとよい。

   

フォームの結合

   
 

共通のフォルダに集められた解答ファイルは、「フォームの結合」の操作でひとつのXMLファイルにまとめることができる。

フォームを結合するには、まず「小テスト」のフォームを開き、「ファイル」メニューから「フォームの結合」をクリックする。

   
 
   
 

「フォームの結合」ウィンドウで、生徒の解答ファイルが保存されたフォルダを開き、「SHIFT」キーを押しながら複数のファイルを選択して「結合」ボタンをクリックする。

   
 
 
   
  フォームの結合が始まる。
   
 
   
 

これで解答ファイルが結合された。

   
 
   

結合したフォームの保存

   
 

解答データを結合したフォームを、「名前を付けて保存」で、別のファイル名で保存する。

   
 
   
 

このファイルは、保存した解答データを結合しただけで、新たなデータ入力をしていないので下記のようなエラーメッセージが出るが、気にしなくてよい。

   
 
   
 

「解答のまとめ」の名前で保存した。

   
 
 
   

ExcelのXMLインポート

   
 

Excel2003には「XMLのインポート」機能があり、これを使ってInfoPathのXMLデータを読み込むことができる。

まずExcelを起動し、「データ」メニューの「XML」−「インポート」をクリックする。

   
 
   
 

インポートするファイルは、解答をまとめた「解答のまとめ」ファイルである。ファイルを選択して「インポート」をクリックする。

   
 
   
 

「指定したXMLソースはスキーマを参照していません。XMLソースデータに基づいてスキーマを作成します」というメッセージが出るので、「OK」をクリックする。

   
 
   
 

データをセルのどの位置に表示するかを指定するウィンドウが表示される。「既存のワークシート内のXMLリスト」で「$A$1」のままでよいだろう。

   
 
   
 

解答データがExcelにインポートされた。

○×問題や選択問題については、別のシートに正解データを入力し、値を比較して自動的に採点する計算式を使えば自動採点が可能である。

   
 
   
このページのまとめ
   
 

解答ファイルは個人が特定できるファイル名で保存させ、共通のフォルダに集めておく。ひとつのフォルダにまとめて保存された複数のフォームは、「フォームの結合」の操作でまとめることができた。これが可能なのは、もとのデータ構造が「繰り返し」になっているからである。

解答データをまとめたフォームは、Excelの「XMLのインポート」で表の形にすることができる。○×問題、記号選択問題は、正解データを作っておき、値を比較する式を使って採点を自動化することができる。

これで小テストフォームの作成はすべて終了した。ここにあげたテクニック以外にも、使いやすいフォームを作るための工夫はいろいろと考えられるだろう。ぜひ各学校でつかいやすいようにフォームを作ってみて欲しい。

また、Windows Share Point Services 、通称WSSとの連携も、InfoPathを利用するには極めて有効である。さらに、ActiveDirectoryを組み合わせると、ユーザーごと、グループごとに異なる動作をするフォームを作ることができる。これらについても、またの機会に紹介したい。

なお、このページでは、特に断りのない限り、Excel2003とInfoPath2003SP1を使って説明している。Excelの旧バージョンはXMLの対応が完全ではないので、同様の結果が得られないことをあらかじめ断っておく。筆者のメールアドレスはymatsumoto@hyogo-c.ed.jpだ。どんなことでも遠慮なくメールで問い合わせて欲しい。必ず回答をさせていただく所存である。

       
  mailto:ymatsumoto@hyogo-c.ed.jp :←ここをクリックして筆者にメールを送る
       
 
matsumotoyshio.com 2006/01/25