Pertanyaan Jalankan perintah di command prompt menggunakan excel VBA


Saya memiliki perintah tetap yang harus saya lewati ke command prompt menggunakan VBA dan kemudian perintah harus dijalankan. misalnya "perl a.pl c: \ temp"

Berikut ini adalah perintah yang saya coba gunakan tetapi hanya membuka command prompt dan tidak menjalankan perintah.

Call Shell("cmd.exe -s:" & "perl a.pl c:\temp", vbNormalFocus)

Tolong periksa.


32
2017-07-30 20:22


asal


Jawaban:


Parameter S tidak melakukan apa pun dengan sendirinya.

/S      Modifies the treatment of string after /C or /K (see below) 
/C      Carries out the command specified by string and then terminates  
/K      Carries out the command specified by string but remains  

Cobalah sesuatu seperti ini

Call Shell("cmd.exe /S /K" & "perl a.pl c:\temp", vbNormalFocus)

Anda bahkan tidak perlu menambahkan "cmd.exe" ke perintah ini kecuali Anda ingin jendela perintah terbuka ketika ini dijalankan. Shell harus menjalankan perintahnya sendiri.

Shell("perl a.pl c:\temp")



-Edit-
Untuk menunggu perintah selesai, Anda harus melakukan sesuatu seperti @Nate Hekman dalam jawabannya sini

Dim wsh As Object
Set wsh = VBA.CreateObject("WScript.Shell")
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1

wsh.Run "cmd.exe /S /C perl a.pl c:\temp", windowStyle, waitOnReturn

45
2017-07-30 20:33