VBAからシェルコマンドを実行して、出力をcsvファイルに取得しようとしています。以下は私が使用しているコードです:
Dim wsh as Object
Set wsh = VBA.CreateObject("WScript.Shell")
plink_path="C:\plink.exe"
key_path="putty key path"
pass_query="select * from test"
command1 = Replace(plink_path & " [email protected] -i " & key_path & " mysql -uuser -ppass -e 'use radar;" & pass_query & "'", Chr(10), " ")
wsh.Run command1 & ">E:/anurag.csv", 0, True
しかし、Eドライブで出力ファイルを表示できません。cmd
プロンプトから上記のコマンドを手動で実行すると、Eドライブに出力が表示されます。
2つの考え:
E:\anurag.csv
代わりに試してくださいE:/anurag.csv
通常はリダイレクトを処理cmd
するためplink
、を呼び出すために使用しcmd
ます。次のwsh.Run
行に置き換えます。
command1 = command1 & ">E:\anurag.csv"
command1 = "cmd /c """ & command1 & """"
wsh.Run command1, 0, True
最初の行は実行したいコマンドを完了し、2番目の行はそれをcmd /c
呼び出しでラップします。
/c
上記をこの回答/c /s
に従って変更してみてください。YMMV-テストされていません
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加