Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3627 / 13646 ツリー ←次へ | 前へ→

【61068】vbsの実行結果を取得したい qwer 09/4/7(火) 23:29 質問[未読]
【61071】Re:vbsの実行結果を取得したい Abyss 09/4/8(水) 2:49 回答[未読]
【61087】Re:vbsの実行結果を取得したい qwer 09/4/8(水) 23:48 お礼[未読]

【61068】vbsの実行結果を取得したい
質問  qwer  - 09/4/7(火) 23:29 -

引用なし
パスワード
   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
-------------------------------------------------------------------------

【61071】Re:vbsの実行結果を取得したい
回答  Abyss  - 09/4/8(水) 2:49 -

引用なし
パスワード
    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(wkstr)
 
 Debug.Print oExec.StdOut.ReadAll

で十分でしょう

【61087】Re:vbsの実行結果を取得したい
お礼  qwer  - 09/4/8(水) 23:48 -

引用なし
パスワード
   ▼Abyss さん:
> 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(wkstr)
> 
> Debug.Print oExec.StdOut.ReadAll
>
>で十分でしょう

ありがとうございました。きちんと動きました。
スクリプトが終了する前に後続コードを実行してしまう可能性がないか、
と考えてしまいましたが、そんなことはないんですね。
大変助かりました。

3627 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free