- - PR -
外部参照したライブラリでのエラーの対処方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-11-01 13:16
お世話になります。
LogParser 2.2のCOM APIを使ってExcel VBAでイベントログの集計をしています。イベントログの内容は監査ポリシーを設定して採取したファイルのアクセスログで、1日2回、WMIのWin32_NTEventLogFileを使ってevtファイルとして保存しています。 これまで問題なく処理できていたのですが、先日処理途中でエラーになってしまったので調べてみるとイベントログのMessageフィールドに記録されているフォルダ名の中に”%9”という文字列がある時(フォルダ名に"%9"が含まれるフォルダにアクセスしたログがある時)、moveNextメソッドを実行するとエラーになって処理が止まってしまい以降のレコードが処理されない事がわかりました。VBScriptやVB2005で同じ様なコードを書いて試したのですが同じでした。 このような時、例外処理やOn Error〜で処理を中止せずなんとか全てのレコードを処理するテクニックのようなものはありますでしょうか? 宜しくお願い致します。 ※VBAでは以下のコードでテストしてダメでした Sub test() Dim log As New MSUtil.LogQueryClass Dim ievt As New MSUtil.COMEventLogInputContextClass Dim rs As MSUtil.ILogRecordset Dim r As MSUtil.ILogRecord Dim strQuery ievt.fullText = True ievt.resolveSIDs = True strQuery = "SELECT * FROM 'D:/log.evt'" Set rs = log.Execute(strQuery, ievt) Do Until rs.atEnd() Set r = rs.getRecord() Debug.Print r.getValue("Message") rs.moveNext Loop End Sub |
1