반응형
Excel VBA를 사용하여 명령 프롬프트에서 명령 실행
VBA를 사용하여 명령어프롬프트에 전달해야 하는 고정 명령어가 있습니다.이 명령어는 "http://a.pl c:\filename"과 같이 실행됩니다.
다음 명령어를 사용하려고 하는데 명령 프롬프트만 열리고 명령어는 실행되지 않습니다.
Call Shell("cmd.exe -s:" & "perl a.pl c:\temp", vbNormalFocus)
확인해주세요.
S 파라미터는 그 자체로는 아무것도 하지 않습니다.
/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
대신 이런 걸 해 봐
Call Shell("cmd.exe /S /K" & "perl a.pl c:\temp", vbNormalFocus)
명령어 실행 시 명령어창을 열지 않는 한 이 명령어에 "cmd.exe"를 추가할 필요가 없습니다.셸이 자체적으로 명령을 실행해야 합니다.
Shell("perl a.pl c:\temp")
-편집-
명령어가 완료될 때까지 기다리려면 @Nate Hekman이 답변에 표시하는 것과 같은 작업을 수행해야 합니다.
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
언급URL : https://stackoverflow.com/questions/17956651/execute-a-command-in-command-prompt-using-excel-vba
반응형
'programing' 카테고리의 다른 글
PowerShell 루프에서 현재 항목의 인덱스 가져오기 (0) | 2023.04.20 |
---|---|
SQL Server에 200만 행 빠르게 삽입 (0) | 2023.04.15 |
pod install -pod: pod: 명령을 찾을 수 없습니다. (0) | 2023.04.15 |
기본적으로 라디오 버튼을 선택하려면 어떻게 해야 합니까? (0) | 2023.04.15 |
iOS 앱을 업로드할 때 애플리케이션 로더가 "iTunes 스토어와 인증 중"으로 고착됨 (0) | 2023.04.15 |