エクセルVBAからDOSコマンドを実行するには?
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
Message#1 2015年2月12日(木)09時06分 From: くわおとろ | 返事 削除 変更 |
エクセルVBAからDOSコマンドを実行するにはどうしたらいいでしょうか? エクセルVBAからDOSコマンド(tree)を実行してエクセルのセルにDOSコマンドで取得したツリーの一覧を取り込もうと考えています。 色々なサイトで同様の処理について書かれている処理を試してみたのですが、プロンプト画面は立ち上がったもののその後の処理がうまくいきません。 このプロンプト画面を閉じると一応実行結果がセルに取り込まれるのですが、このままでは途中の進捗状況が分かりません。 こちらをうまく回避できる方法がありましたら、教えてください。 一応以下が色々なサイトのやつから自分なりに構築したVBAコードとなります。 よろしくお願いいたします。 Sub sample() Dim tmp, i As Long Dim Pr_tree, Pr_Exec, Dos_cmd, Result As String Set Pr_tree = CreateObject("WScript.Shell") Dos_cmd = "tree c:\" Set Pr_Exec = Pr_tree.Exec("%ComSpec% /c " & Dos_cmd) Do While Pr_Exec.Status = 0 DoEvents Loop Result = Pr_Exec.StdOut.ReadAll tmp = Split(Result, vbCrLf) For i = 0 To UBound(tmp) Cells(i + 1, 1) = tmp(i) Next Set Pr_Exec = Nothing Set Pr_tree = Nothing MsgBox "ディレクトリ情報を取得しました。" End Sub |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降