ExcelのVBA(マクロ)で、MS-DOSの標準出力(実行結果)を取得する方法についてまとめました。
MS-DOSの標準出力(実行結果)を取得
Excel/VBAでは、「StdOut.ReadAll」メソッドでMS-DOSコマンドの標準出力を取得できます。
今回は、WSH(Windows Scripting Host)でipconfigコマンドを実行し、その標準出力(結果)を取得してメッセージボックスに表示してみます。
サンプルコード
サンプルプログラムのソースコードです。
Sub test()
Dim WSH, wExec, cmd As String, Result As String
Set WSH = CreateObject("WScript.Shell")
' 実行したいDOSコマンド
cmd = "ipconfig"
' DOSコマンドを実行
Set exec = WSH.exec("%ComSpec% /c " & cmd)
' DOSコマンドが終了するまで待機
Do While exec.Status = 0
DoEvents
Loop
' DOSコマンドの実行結果(標準出力)を取得
Result = exec.StdOut.ReadAll
' 取得した標準出力をメッセージボックスに表示
MsgBox Result
' オブジェクトを空に
Set wExec = Nothing
Set WSH = Nothing
End Sub
| — | 関連記事 |
|---|---|
| 1 | 【Excel/VBA】マクロ入門 |

コメント