WScript.Shellを扱う際は、
cdコマンドで作業フォルダの指定はできず、
作業フォルダの指定必ずを行わないと期待通りのコマンド動作ができないのか否か知りたいです。
下記のようなプログラムでコマンドの実行結果が出力されない理由が分かりません。
VBAのWScript.Shellの使い方?、VBAでの作業フォルダについて詳しい方に教えていただきたいです。
お手数ですが、何卒よろしくお願いいたします。
VBA
1 Dim CF As String 2 CF = ActiveDocument.Path 3 MsgBox CF 4 5 'WSH(Windows Scripting Host)への参照作成 6 Dim WSH 7 Set WSH = CreateObject("WScript.Shell") 8 9 '実行するMD-DOSコマンド 10 Dim cdCmd As String 11 Dim sCmd As String 12 cdCmd = "cd " & CF 13 sCmd = "スクリプトコマンド(gitコマンド)" 14 15 MsgBox cdCmd & " && " & sCmd 16 17 '作業フォルダの指定※1 18 'WSH.CurrentDirectory = CF 19 20 'Execメソッドを実行(%ComSpec%でコマンドシェルを自動判定) 21 Dim wExec 22 Set wExec = WSH.Exec("%ComSpec% /c " & cdCmd & " && " & sCmd) 23 24 'MS-DOSコマンドの完了待ち 25 Do While wExec.Status = 0 26 DoEvents 27 Loop 28 29 'コマンドの実行結果出力 30 Dim Result 31 Result = wExec.StdOut.ReadAll 32 MsgBox Result 33
※1 以前は、作業フォルダの指定 をコメントアウトした上記コードの状態で期待通りの動きをしていました。
※1 コメントアウトしている作業フォルダの指定をコメントアウト外したら、
上記ソースは期待通りの動きをします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/27 11:44
2017/06/27 13:14
2017/07/10 11:46
2017/07/10 12:16
2017/07/12 06:40
2017/07/12 14:24
2017/07/13 04:41
2017/07/13 11:58
2017/07/13 12:17
2017/07/18 08:24