<第2回>

複数のビューを作り問題を切り替える

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

ymatsumoto@hyogo-c.ed.jp

 
<<前のページへ
 
新しい空白のフォームを作る
   
 

ひとつの小テストに5つの小問題があるとする。これをそれぞれ別のページとして表示し、ボタンをクリックして次の問題へ進む、というフォームを作る。

InfoPathではページの概念として「ビュー」というものがある。ここでは複数のビューを作り、ボタンの動作規則を「ビューの切り替え」とすることで、空白の問題ページを作成する。

InfoPathを起動したら、左の項目から「フォームのデザイン」をクリックする。

   
 
   
 

「フォームのデザイン」作業ウィンドウが表示されるので、「新しいフォームのデザイン」の「新しい空白のフォーム」をクリックする。

   
 
   
  「新しい空白のフォーム」ができた。
   
ビューの確認
   
 

画面に表示されている白紙のページは、新しい空白のフォームにあるひとつのビューである。フォームには少なくとも1つのビューがあり、新しいフォームを作ると、必ずデフォルトで「ビュー1」という名前のビューが作られる。

ビューを確認するには、「デザインタスク」作業ウィンドウから「ビュー」をクリックする。

   
 
   
 

フォームには「ビュー1」という名前のビューだけがあることがわかる。「規定」は、このフォームを開いたとき、最初に表示されるビューであることを示している。

デフォルトで設定されたビューの名前「ビュー1」を変更してみよう。ビューの名前を変更するには、「ビューのプロパティ」ボタンをクリックする。

   
 
   
ビューの名前を変更する
   
 

「ビューのプロパティ」ウィンドウではビューに対する設定をすることができる。名前を変更するには、「全般」タブの「ビューの設定」で「ビュー名」を変更する。

   
 
   
  問題を始める前に、学籍番号や氏名を入力するビューを作るため、「ビュー名」を「開始ページ」としよう。
   
 
   
  ビューの名前が「開始ページ」になった。 次に各小問題のビューを作る。ビューを追加するには、「ビュー」作業ウィンドウから「操作」の「新しいビューの追加」をクリックする。
   
 
   
ビューの追加
   
 
「新しいビューの追加」ボタンをクリックすると「ビューの追加」ウィンドウが表示されるので、ビュー名を入力する。ここでは「問題1」としよう。
   
 
 
   
  「問題1」のビューができた。
   
 
   
  同じ操作を繰り返し、「問題2」「問題3」「問題4」「問題5」「終了ページ」の各ビューを作っていく。
   
 
   
  全部で5つの小問題があるとして、これで全部のビューが作成できた。
   
ボタンの作成
   
 

次に、各ページに、ビューを切り替えるボタンを作成する。まず「開始ページ」のビューを選択していることを確認し、このビューに対して編集を行う。

ボタンを作成するには、「ビュー」作業ウィンドウを「コントロール」作業ウィンドウに切り替える。作業ウィンドウの「コントロール」をクリックしよう。

   
 
   
 

作業ウィンドウが「コントロール」作業ウィンドウに切り替わった。

「コントロールの挿入」から「ボタン」をクリックすると、ビューにボタンが作成される。

   
 
   
 

ボタンができた。

   
 
   
 

ボタンの名前を変更し、クリックしたときの動作を設定するため、ボタンを右クリックして「ボタンのプロパティ」を表示する。

   
 
   
ボタンの動作規則を設定する
   
 

まずボタンに表示されるテキストを変更する。

   
 
   
 

「ラベル」を「問題1へ」に変更した。

次に、このボタンをクリックしたときの動作を設定するために「動作規則」をクリックする。

   
 
   
 

動作を追加するには「追加」ボタンをクリックする。

   
 
   
 

新しい動作規則の設定ウィンドウが表示される。「名前」は変更しなくても動作にかかわりはないが、複数の動作を設定した場合や、動作の設定を確認しやすくするため、わかりやすい名前をつけることをすすめる。

   
 
   
 

「問題1へ移動する」という名前にした。

「条件の設定」をクリックすると、この動作をさせるための条件を設定することができる。ここではボタンを押せば必ずフォームを切り替えるようにするので、条件の設定はしない。

「動作の追加」でボタンの動作を追加する。

   
 
   
 

「動作」のウィンドウでは、ドロップダウンリストから「ビューを切り替える」動作を選択する。

   
 
 
   
 

切り替えるビューを「問題1」に変更する。

   
 
 
   
 

動作規則の設定ができた。「OK」をクリックして前のウィンドウに戻る。

   
 
   
 

「OK」をクリックしてボタンのプロパティに戻る。

   
 
   
 

これでボタンの「動作規則」が設定できた。「OK」をクリックしてフォームに戻る。

   
 
   
ビューを切り替えてボタンを作成する
   
 

これで「開始ページ」のビューに問題1のビューに切り替える「問題1へ」のボタンができた。次に、ビューを「問題1」に切り替え、同じ操作でボタンを作る。ビューを切り替えるには、「ビュー」をクリックして「ビュー」作業ウィンドウに切り替える。

   
 
   
 

「ビュー」作業ウィンドウで「問題1」のビューに切り替えた。「問題1」のビューは、まだ空白のままだ。ボタンを作成するため、「コントロール」作業ウィンドウに切り替えよう。

   
 
   
 

「開始ページ」のビューでしたように、「コントロールの挿入」から「ボタン」をクリックしてフォームにボタンを作成する。「問題1」のビューでは、「開始ページ」に戻るボタンと「問題2」へ進むボタンの2つが必要だ。

   
 
   
 

ボタンを2つ作成した。

   
 
   
 

まず右側のボタンに「開始ページに戻る」設定をする。やり方は同じだ。

   
 
   
ボタンの動作の確認
   
 

すべてのページに各ページへ切り替わるボタンを作成できたら、「フォームのプレビュー」ボタンをクリックして、ボタンをクリックしてフォームが切り替わることを確認しよう。

   
 
   
このページのまとめ
   
 

複数の問題ページを作り、一問ずつ解答させていくために、まず複数のビューを作り、ビューを切り替えるためにボタンの動作規則を利用することをした。一行もコードを書く必要はなく、コントロールの選択とプロパティの設定でページを切り替える仕組みが作れることがわかったはずだ。

次回は、この小テストの問題に対して、解答を保存するためのデータソースの作り方を説明する。難しくはないが、後で集計することを考えたとき、データソースの作り方に工夫が必要である。

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

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