Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Excel启动虚拟机_Excel_Virtualbox_Vba - Fatal编程技术网

从Excel启动虚拟机

从Excel启动虚拟机,excel,virtualbox,vba,Excel,Virtualbox,Vba,我想从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 "

我想从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)
有什么建议吗???谢谢你的台词,上面写着:

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就不会被“程序”和“文件”之间的空格搞混。因此,您需要将字符串设置为:

"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"""

尝试在文件名的开头加一个前导双引号。(您已经在.exe之后有了一个。)因此
FileName=“”D:\Program Files\Oracle\VirtualBox\VirtualBox.exe”“--注释“PANT”“--startvm”“2c2e4312-6d7d-4892-8a8f-1471a4d2c79d”“
谢谢!它起作用了!我也删除了“cmd.exe/c”。