gpt4 book ai didi

vba - 使用 Excel VBA 在命令提示符下执行命令

转载 作者:行者123 更新时间:2023-12-01 16:33:11 25 4
gpt4 key购买 nike

我有一个固定命令,需要使用 VBA 将其传递到命令提示符,然后该命令应该运行。例如“perl a.pl c:\temp”

以下是我尝试使用的命令,但它只是打开命令提示符而不运行该命令。

调用 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 应自行执行该命令。

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



-编辑-
要等待命令完成,您必须执行 @Nate Hekman 在其答案 here 中显示的操作

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

关于vba - 使用 Excel VBA 在命令提示符下执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17956651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com