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】マクロ入門 |
コメント