前回までに作成したスクリプトライブラリの動作確認をします。簡単なサンプルプログラムを作成して、ライブラリの使い方と実行結果を確認しましょう。
エージェントの作成とテスト
新規でエージェントを作成します。名前には別名を付けた方がテストになりますね。トリガーはアクションメニューから実行として、対象は ”なし” とします。
サンプルで作成するプログラムは、1 ~ n までの総和を求めるプログラムです。計算の経過をログに出力します。
Option Declare Use "StdLog" '実行ログ の組み込み Sub Initialize Dim i As Integer Dim iMax As Integer Dim iSum As Integer Dim s As String On Error GoTo ErrProc '初期化 iMax = 10 'ログの開始 Call LogOpen("StdLog のテスト") Call PrintLog("1 ~ " & CStr(iMax) & " までの総和を求めます...") '1 ~ iMax までの総和を計算 For i = 1 To iMax s = CStr(i) & ") " & CStr(iSum) & " + " & CStr(i) & " = " iSum = iSum + i '計算経過の出力 Call PrintLog(s & CStr(iSum)) Next Call PrintSummary("1 ~ " & CStr(iMax) & " までの総和は " & CStr(iSum) & " です。") 'ログの終了 Call LogClose() Exit Sub ErrProc: Call PrintError(Error$ & " (Err = " & CStr(Err) & ", Erl = " & CStr(Erl) & ")") End End Sub |
ライブラリの使い方は、
- ライブラリ StdLog を Use で呼び出す
- LogOpen 関数でログ出力を開始
- PrintLog など Print* 関数でログを出力
- 最後に LogClose をコールしてログ出力を終了
実際に実行すると次のような文書が作成されます。
エラーログの出力のテスト
サンプルプログラムでは、不測の事態に備え On Error でエラー処理を記述しており、エラー発生時には PrintError 関数でそのエラー情報を出力しています。
その動作確認のため、For ループ内の最後の行にエラーを強制的に発生させます。
Error 1000, "検証のために発生させたエラー" |
実行結果を確認するとログ内では赤字でラーメッセージが表示され、エラーの箇所が一目瞭然ですね。
なお、エラーが発生した場合、End 命令でスクリプトを終了しています。LogClose をコールせずに終了しているのですが、『StdLog: LogClose() が実行されずに終了しました...』と出力されています。Terminate の設定が正しく動いていることが確認できます。
次回の予定
テスト実行できるようになり、ログがたまってくるとビューが欲しくなります。そこで、次回はログを見やすく表示するビューを作成します。
前回 | 共通部品にチャレンジ |
0 件のコメント:
コメントを投稿