<第8回>

小論文問題を作る

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

ymatsumoto@hyogo-c.ed.jp

 
<<前のページへ
 
 

小論文問題では、解答欄のテキストボックスに多くの文字数を入力させることになる。そこでテキストボックスに入力した文章が折り返して表示されるようにし、行数が多いときにはスクロールバーを表示してスクロールできるようにしなければならない。

一般に小論文問題には文字数の制限がある。入力された解答の文字数を調べるには、動作規則を設定する。

また、書かれた小論文の中には、本当に題意を理解しているのかどうかがわかりにくく、評価に困ることがある。そこで小論文中に必ずキーワードを使うこととし、評価の手がかりとする。

   
データソースの作成
   
 

「ビュー作業ウィンドウ」から「問題5」のビューを選択しよう。

   
 
   
 

「問題5」のビューには、問題4へ戻る「前の問題」のボタンと、「終了ページへ」のボタンがある。

作業ウィンドウを「データソース作業ウィンドウ」に切り替え、「化学小テストの解答」フィールドを選択して右クリックし「追加」をクリックする。この問題では解答フィールドは1つで良いので「解答5」のフィールドを追加しよう。フィールド名に数字やアルファベットを使う場合は、半角で入力しなければならない。

   
 
 
 
 
   
繰り返しセクションの作成
   
 

データソース作業ウィンドウから「解答5」フィールドをクリックして選択し、ビューにドラッグすると、「解答5」フィールドのテキストボックスを含む繰り返しセクションができる。

   
 
 
   
問題文の作成
   
  「解答5」テキストボックスの上に問題文を書く。
   
 
   
テキストボックスのサイズ変更
   
 

小論文では解答欄を大きくしておかなければならない。テキストボックスは角をドラッグすることで大きさを変更できるが、ここではレイアウトを正確にするため、数値で大きさを設定しよう。大きさの数値設定は「プロパティ」で行う。

「解答5」のテキストボックスを右クリックして「テキストボックスのプロパティ」をクリックする。

   
 
   
 

テキストボックスのサイズ変更は、「テキストボックスのプロパティ」ウィンドウの「サイズ」タブで行う。

   
 
 
   
 

高さのサイズの指定単位は、px(ピクセル)、in(インチ)、cm(センチメートル)、mm(ミリメートル)、pt(ポイント)などがある。ここでは100ピクセルとした。

   
 
   
 

幅のサイズの指定単位には、高さの指定単位に加えて、%(パーセント)がある。ここではテキストボックスを繰り返しセクションの幅ぎりぎりまで広げたいので、幅を100%とした。

   
 
 
   
 

解答欄の大きさが設定できた。

   
 
   

文字列の折り返しとスクロール

   
 

テキストボックスはデフォルトで入力した文字列は折り返しせず、スクロールもしない。文字列の折り返しとスクロールバーの表示は「プロパティ」で設定することができる。

解答欄のテキストボックスを選択して右クリックし「テキストボックスのプロパティ」をクリックしよう。

   
 
   
 

文字列の折り返しとスクロールの設定は「表示」タブで行う。

まず文字列の折り返しができるようにするため、「文字列を折り返して全体を表示する」をチェックする。そうするとスクロールに関するオプションが選択できるようになる。

   
 
   
 

スクロールに関するオプションには、「必要に応じてスクロールバーを表示する」、「入力中に自動的にスクロールする」、「スクロールバーを表示する」、「展開してすべての文字列を表示する」の4つがある。

「必要に応じてスクロールバーを表示する」では、文字がテキストボックスのサイズに納まるときはスクロールバーを表示せず、行がテキストボックスのサイズを超えたときにスクロールバーが表示される。

「入力中に自動的にスクロールする」では、行がテキストボックスのサイズを越えるとスクロールしていくが、スクロールバーは表示されない。はじめの行を見たいときは、テキストボックス内のカーソルをスクロールしなければならないので、その点は使いにくい。

「スクロールバーを表示する」では、テキストボックスの右サイドに最初からスクロールバーが表示されている。行数がテキストボックスの範囲内ならばグレーアウトしており、行数がテキストボックスを越えるとアクティブになる。

「展開してすべての文字列を表示する」では、行が増えるだけテキストボックスの大きさが下に広がっていく。

ここでは一般的に最も使いやすいと思われる「必要に応じてスクロールバーを表示する」にするのがよいだろう。

   
 
 
   
文字数制限の動作規則
   
 

次に文字数制限の動作規則を設定する。この問題では、小論文を100字以上、200字未満で解答することを要求している。この制限は、「終了ページへ」のボタンをクリックしたときに評価されるようにしたいので、「終了ページへ」のボタンをクリックして選択し、「ボタンのプロパティ」をクリックしよう。

   
 
   
 

「ボタンのプロパティ」ウィンドウで「動作規則」をクリックする。

   
 
   
100字未満のチェック
   
 

このボタンには次のビューを表示する「終了ページへ」の動作規則が設定してある。ここに、まず解答が100字未満であったときの動作規則を設定しよう。

新しい動作を設定するため「追加」ボタンをクリックする。

   
 
   
 

動作規則にはわかりやすい名前をつけよう。

   
 
   
 

動作規則の名前を「100字未満」とした。動作の条件を設定するため「条件の設定」ボタンをクリックする。

   
 
   
 

このときの条件は、テキストボックスの文字数を調べて評価するものになる。これは「string-length」関数を使った「式」で行う。

   
 

string-length(my:化学小テストの解答/my:解答5) < 100

   
 
 
 
   
 

条件の設定が終われば、次に「動作の追加」ボタンをクリックして動作の設定を行う。

   
 
   
 

動作は「ダイアログメッセージを表示する」、メッセージは「文字数が100字未満です」としよう。

   
 
 
   
 

条件と動作の設定が完了した。100字未満なら次のページにすすめないようにしたいので、「この動作規則が完了したら規則の処理を停止する」にチェックする。

   
 
 
   
200字以上のチェック
   
 

「100字未満」の動作規則が設定できたら、次は「200字以上」の動作規則を設定しよう。「追加」ボタンをクリックして動作規則を新しく追加する。

   
 
   
 

動作規則の名前は「200字以上」とし、「条件の設定」ボタンをクリックして条件の設定をする。

   
 
 
   
 

「100字未満」の動作規則と同様に、「string-length」関数を使った「式」で文字数を調べる。

   
 

string-length(my:化学小テストの解答/my:解答5) >= 200

   
 
 
 
   
 

条件の設定が終われば、次に「動作の追加」ボタンをクリックして動作の設定を行う。

   
 
   
 

動作は「ダイアログメッセージを表示する」、メッセージは「文字数が200字以上です」としよう。

   
 
 
   
 

条件と動作の設定が完了した。200字以上なら次のページにすすめないようにしたいので、「この動作規則が完了したら規則の処理を停止する」にチェックする。

   
 
 
   
キーワードのチェック
   
 

次に、必要なキーワードが使われていなかった場合の動作規則を設定しよう。新しい動作規則を作るため、「動作規則」のウィンドウで「追加」ボタンをクリックする。

   
 
   
 

動作規則の名前を「キーワードなし」とし、「条件の設定」ボタンをクリックして条件を設定する。

   
 
 
   
 

「条件」のウィンドウでは、「解答5」フィールドにキーワードが含まれていない場合を設定する。ここで必要なキーワードは3つあるので、各条件を「OR」でつなぐ設定にする。

まず最初の条件で、フィールドを「解答5」に設定する。

   
 
 
 
 
 
   
 

次に「が次の値を含まない」の条件を選択する。

   
 
   
 

そして最後に「文字列の入力」を選び、ひとつめのキーワード「二酸化炭素」を入力する。

   
 
 
 
   
 

エンターキーを押すと、文字列はダブルクォーテーションで囲まれる。文字列であるという表示だ。

   
 
   
 

「AND/OR」ボタンをクリックして、条件の行を追加する。次の行も同様に「解答5」フィールド「が次の値を含まない」とし、2つめのキーワード「炭酸カルシウム」を指定する。

   
 
 
   
 

さらに「AND/OR」ボタンをクリックして、条件の3行目を追加し、3つめのキーワードを指定する。次のような設定ができれば「OK」ボタンをクリックして条件の設定を完了する。

   
 
   
 

条件の設定が完了した。「動作の追加」ボタンをクリックして、キーワードが含まれていなかったときの動作を設定する。

   
 
   
 

「動作」は「ダイアログボックスメッセージを表示する」とし、「メッセージ」は「使われていないキーワードがあります」としよう。

   
 
 
   
 

使われていないキーワードがあったとき、次にすすめないようにするには、「この動作規則が完了したら規則の処理を停止する」にチェックする。

   
 
 
   
未解答をチェック
   
 

最後に未解答をチェックする動作規則を設定する。「追加」ボタンをクリックして新しい動作規則を追加しよう。

   
 
   
 

動作規則の名前は「未解答をチェック」とし、「条件の設定」ボタンをクリックして条件の設定を行う。

   
 
 
   
 

「解答5」フィールド「が空白である」という条件設定にする。

   
 
 
 
 
 
 
 
   
 

条件が設定できた。「動作の追加」ボタンをクリックして動作の設定を行う。

   
 
   
  「動作」は「ダイアログボックスメッセージを表示する」、「メッセージ」は「解答を入力してください」とする。
   
 
 
   
  解答が空白であれば次にすすめないようにしたいので、「この動作規則が完了したら規則の処理を停止する」をチェックする。
   
 
 
   
動作規則の適用順
   
 

これで必要な動作規則が全て設定できた。このボタンには4つの動作規則が設定されたが、これらは上から順に適用される。

解答者にとってどのような順で動作規則が適用されれば良いかをかんがえ、動作規則を並べ替える。並べ替えるには、位置を変更したい動作規則をクリックして選択し、「上へ移動」または「下へ移動」ボタンをクリックする。

   
 
 
   
 

動作規則を並べ替えたら「OK」ボタンをクリックして動作規則の設定を終了する。

   
 
   
 

これでボタンについての設定は完了した。「ボタンのプロパティ」も「OK」ボタンをクリックして終了する。

   
 
   
繰り返しセクションのプロパティ
   
 

解答者によって繰り返しセクションが挿入や削除をされないために、繰り返しセクションのプロパティを変更する。

繰り返しセクションをクリックして選択し、右クリックで「繰り返しセクションのプロパティ」をクリックする。

   
 
   
  「ユーザーによるセクションの挿入と削除を許可する」のチェックを外し、「OK」ボタンをクリックする。
   
 
 
   
ボタンの移動
   
  ボタンが問題文の上にあるので、クリックして選択し、ドラッグして問題文の下に移動する。
   
 
 
   
フォームのプレビュー
   
 

「フォームのプレビュー」ボタンをクリックし、解答を入力して動作規則を確認しよう。

   
 
 
 
 
 
   
このページのまとめ
   
 

長文問題では、解答を入力するテキストボックスが折り返しできるようにし、行が多くなったときにスクロールするように設定しなければならない。これはテキストボックスのプロパティで、「文字列を折り返して全体を表示する」をチェックし、「必要に応じてスクロールバーを表示する」を設定した。

解答は100字以上、200字未満でなければならないこと、キーワードを必ず使わなければならないことにし、このチェックをボタンの動作規則に設定した。文字数の評価は、string-length関数を使った式で行う。

次回は、すべての問題を解答した後に、解答の保存を指示するページを作る。これで小テストのフォームは完成だ。そして解答ファイルを集めて、エクセル2003でデータを読み込み、採点する方法を説明する。Excelの旧バージョンではInfoPathのXMLデータをそのままでは読み込めないのだが、その次の回には旧バージョンのExcelに対応する集計ビューを作り、InfoPathからエクスポートする方法を紹介して最終回としよう。

なお、このページでは、特に断りのない限り、Excel2003とInfoPath2003SP1を使って説明している。Excelの旧バージョンはXMLの対応が完全ではないので、同様の結果が得られないことをあらかじめ断っておく。筆者のメールアドレスはymatsumoto@hyogo-c.ed.jpだ。

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