Excel VBA質問箱 IV

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

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


75818 / 76732 ←次へ | 前へ→

【5346】Re:Shell関数で実行した結果取得
回答  Kein  - 03/5/7(水) 15:15 -

引用なし
パスワード
   WSH5.6から実装されている、WshShellオブジェクトのExecメソッドを使い
それが返すオブジェクトで、StdOutチャンネルにアクセスする。という方法が
あるようです。

Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Sub MyTest_Std()
  Dim WShell As Object, oExec As Object
  Dim Buf As String
 
  Set WShell = CreateObject("WScript.Shell")
  Set oExec = WShell.Exec("Command.com /C CD") 'NT系のOSなら cmd.exe
  Do Until oExec.StdOut.AtEndOfStream
   Buf = Buf & oExec.StdOut.ReadLine
   If oExec.Status = 1 Then Exit Do
   Sleep 100
  Loop
  MsgBox Buf
  Set oExec = Nothing: Set WShell = Nothing
End Sub

2 hits

【5338】Shell関数で実行した結果取得 NECRO 03/5/7(水) 13:05 質問
【5346】Re:Shell関数で実行した結果取得 Kein 03/5/7(水) 15:15 回答
【5360】Re:Shell関数で実行した結果取得 NECRO 03/5/8(木) 9:49 質問
【5365】Re:Shell関数で実行した結果取得 Kein 03/5/8(木) 15:00 回答
【5369】できました!ありがとうございました。 NECRO 03/5/8(木) 15:38 お礼

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