|
Excelにイベントログを表示したく、以下のようなコードを実装しました。
(OSはWindowsXPで、イベントログ取得のためのeventquery.vbsを実行し、その結果を取得したい)
wkstrに、例えば dir といったdosコマンドを入れると答えが返ってきますが、eventquery.vbsを実行すると、dosプロンプトがダンマリになります。vbs自体は実行されているようなのですが、実行終了を判断出来ていないように見えます。
どうすれば正しく実行終了を判断して後続処理ができるかご教示頂けますでしょうか。
-------------------------------------------------------------------------
Public Sub main()
Dim oShell As Object, oExec As Object
Dim wkstr As String
wkstr = "cscript.exe c:\windows\system32\eventquery.vbs /l system"
Set oShell = CreateObject("WScript.shell")
Set oExec = oShell.exec("%ComSpec% /c " & wkstr)
Do Until oExec.Status
DoEvents
Loop
If (oExec.StdErr.AtEndOfStream) Then
If (Not oExec.StdOut.AtEndOfStream) Then Debug.Print oExec.StdOut.ReadAll
End If
End Sub
-------------------------------------------------------------------------
|
|