- PR -

外部参照したライブラリでのエラーの対処方法

1
投稿者投稿内容
arika
会議室デビュー日: 2007/10/31
投稿数: 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

スキルアップ/キャリアアップ(JOB@IT)