从Excel启动虚拟机

3
我想要从Excel 2016启动一个虚拟机(Oracle VirtualBox)。我尝试了这段代码,但什么都没有发生,甚至没有错误。
 Dim FileName As String
FileName = "D:\Program Files\Oracle\VirtualBox\VirtualBox.exe"" --comment ""PANT"" --startvm ""2c2e4312-6d7d-4892-8a8f-1471a4d2c79d"""
FileName = "cmd.exe /c  " & FileName
Debug.Print FileName``
'End
Call Shell(FileName, vbNormalFocus)

有什么建议吗?谢谢。

尝试在文件名开头放置一个前导双引号。(在 .exe 后面已经有一个了。)所以 FileName = """D:\Program Files\Oracle\VirtualBox\VirtualBox.exe"" --comment ""PANT"" --startvm ""2c2e4312-6d7d-4892-8a8f-1471a4d2c79d""" - YowE3K
谢谢!它有效了!我也删除了“cmd.exe /c”。 - Massimo Griffani
1个回答

1

你的那行代码写着:

FileName = "D:\Program Files\Oracle\VirtualBox\VirtualBox.exe"" --comment ""PANT"" --startvm ""2c2e4312-6d7d-4892-8a8f-1471a4d2c79d"""

创建一个字符串变量,其中包含以下字符:
D:\Program Files\Oracle\VirtualBox\VirtualBox.exe" --comment "PANT" --startvm "2c2e4312-6d7d-4892-8a8f-1471a4d2c79d"

您需要在这些字符的开头添加一个额外的双引号,以"包含"文件名,以便Shell不会因为"Program Files"之间的空格而混淆。所以您需要将字符字符串设置为:

"D:\Program Files\Oracle\VirtualBox\VirtualBox.exe" --comment "PANT" --startvm "2c2e4312-6d7d-4892-8a8f-1471a4d2c79d"

需要创建它的代码如下:

FileName = """D:\Program Files\Oracle\VirtualBox\VirtualBox.exe"" --comment ""PANT"" --startvm ""2c2e4312-6d7d-4892-8a8f-1471a4d2c79d"""

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接