この特集のトップページへ
Chapter 6:ビジネスロジックの設計

6.6.2 請求書の作成
●定期的に請求書を作成する

○タスクにVBScriptのプログラムを登録する
 以上で説明したように,List 6-175に示したMakeBills.vbsは,実行された日付より1日前の日付をBusiness.BillコンポーネントのMakeBillsメソッドの引数に渡し,請求書を作成する。よって,毎日実行しない限り,日々の請求書を作成することはできない。そこで,MakeBills.vbsList 6-175)をタスクに登録し,1日1回起動するように設定する。ここでは,オフピーク時を見計らい,毎日午前2時にMakeBills.vbsを起動させるようにする。

 アプリケーションをタスクに登録するには,次のようにする。

1. タスクを開く
 [コントロールパネル]のなかにある[タスク]を開く(Fig.6-94)。
 
2. タスクウィザードを起動する
 [タスク]のなかにある[スケジュールされたタスクの追加]をダブルクリックする。すると,タスクウィザードが起動するので,[次へ]ボタンを押す(Fig.6-95)。
 
3. アプリケーションを選択する
 すると,起動するアプリケーションを選択する画面が表示されるので,そこで[参照]ボタンを押し,起動したいアプリケーションを指定する(Fig.6-96)。
4. 実行単位を選択
 Fig.6-97のように,いつこのアプリケーションを実行するのかを尋ねられるので,適切なものを選択する。今回は,毎日MakeBills.vbsを実行するため,[日単位]を選択することになる。
 
5. 実行時間の選択
 Fig.6-98のように,何時にアプリケーションを実行するのかを尋ねられるので,適切なものを入力する。今回は,午前2時にMakeBills.vbsを実行する。また,この画面では,指定した間隔ごとに実行させたり,指定した日付以降に実行させたりといった設定もできる。
 
6. 実行ユーザーの選択
 Fig.6-99のように,どのユーザー権限でアプリケーションを実行するのかを尋ねられるので,適切なものを入力する。今回のサンプルではBusiness.BillコンポーネントのMakeBillsメソッドを呼び出すことができるユーザーをAccountingAdminロールに属するユーザーに限るようにするので,ここではAccountingAdminロールに属する適当なユーザーを選択することになる。
 
7. 完了
 最後にFig.6-100の画面が表示されるので,[完了]ボタンを押す。

 以上の手順で追加したタスクは,[タスク]内にアイコンとして表示される(Fig.6-101)。アイコンを右クリックし,表示されたメニューから[プロパティ]を選択すれば,実行する時刻やユーザーなどをあとから変更することもできる。また,同メニューから[タスクの実行]を選択すると,即時にそのタスクを実行することもできる。[タスクの実行]は,設定が正しいかどうかを確かめるのに便利である。

Fig.6-94 タスクを開く
fig6_94.gif

Fig.6-95 タスクウィザードの起動
fig6_95a
fig6_95b

Fig.6-96 アプリケーションの選択
fig6_96a
fig6_96b

Fig.6-97 実行単位の選択
fig6_97

Fig.6-98 実行時間の選択
fig6_98

Fig.6-99 ユーザーの選択
fig6_99

Fig.6-100 完了
fig6_100

Fig.6-101 登録されたアイコン
fig6_101

○タスクを使うときの注意
 以上で,タスク機能を使って指定したスクリプトを実行することができるようになったわけだが,タスクを利用する場合には1つだけ注意しなければならない点がある。それは,ユーザーの入力を求めるようなプログラムをタスク化してはならないということである。

 タスクが実行されるときにコンソールに誰かがログオンしているとは限らない。タスクで実行されるアプリケーションがユーザーの入力を求めるようにプログラムされていた場合には,その時点で動作が停止してしまうことになる。そのため,VBScriptの場合ではWScript.Echoメソッド,Visual Basicの場合ではMessageBox関数などを使用して,画面にダイアログボックスなどを表示しようとしてならない。

prevpg.gif Chapter 6 83/92 nextpg.gif