なぜそんなことをしたいのかと言われそうですが、事情があって、
Cygwinでのgitなどの実行結果をExcel VBAでWshShellを使って取得したいのですが、
可能なものでしょうか?
下記コードでcommandにgitコマンドなどを渡します。
実行はできますが、Cygwinウィンドウ上に表示される結果は、当然、拾えません。
拾う方法はあるでしょうか?
VBA
1Public Function fncCygScript(command As String) As String 2Dim WSH As WshShell 3Dim wExec As Object 4Dim output As String 5 6 fncCygScript = "" 7 output = "" 8 9 Set WSH = New WshShell 10 Set wExec = WSH.Exec("%ComSpec% /c " & "set LESSCHARSET=utf-8 && C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico " & command) 11 12 Do While wExec.Status = 0 13 output = output & wExec.StdOut.Read(1) 14 DoEvents 15 Loop 16 17 Sleep (1000) 18 DoEvents 19 20 fncCygScript = output 21 22 Set wExec = Nothing 23 Set WSH = Nothing 24End Function
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/29 07:33 編集
2021/08/29 07:32
2021/08/29 07:37
2021/08/29 07:42
2021/08/29 08:10