我正在尝试使用输入文件运行程序。
Dim command, cfx5_exe_path, cfx_file_folder, cfx_file_name As String
command = cfx5_exe_path & " -cfx " & cfx_file_folder & cfx_file_name & ".cfx "
Shell command
所以它给出了一个错误。 调试器中命令的结果值是
"c:\"Program Files"\"ANSYS Inc"\v150\CFX\bin\cfx5pre.exe -cfx c:\Users\Username\Arbeit\Programming\A321_tail_flow.cfx"
如果我将其直接复制粘贴到windows cmd 中并删除第一个/最后一个引号,那么它可以正常工作。 Shell 有什么问题?
答案 0 :(得分:1)
文档说:
如果Shell函数成功执行了命名文件,它将返回已启动程序的任务ID。任务ID是标识正在运行的程序的唯一编号。如果Shell函数无法启动指定的程序,则会发生错误。
它给出了一个小例子:
Sub test()
Dim RetVal
Dim command As String
command = "C:\WINDOWS\CALC.EXE"
RetVal = Shell(command, 1)
End Sub
这里我得到Error 53: file not found
因为Windows 7上的计算器位于其他地方。你有这个错误吗?
提供calc的正确路径启动程序并返回唯一ID。
但是,引用正确路径的一部分会引发错误:
command = "C:\WINDOWS\""SYSTEM32""\CALC.EXE"
但引用完整路径不是:
command = """C:\WINDOWS\SYSTEM32\CALC.EXE"""
因此,您必须删除所有嵌入的引号,然后引用完整路径一次。