2016-12-30 137 views
3

我想從Excel 2016啓動虛擬機(Oracle VirtualBox)。我嘗試使用此代碼,但沒有任何反應,甚至沒有發生錯誤。從Excel啓動虛擬機

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) 

任何建議???由於

+0

嘗試把領先的雙引號在文件名的開始。 (在.exe之後你已經有一個了。)所以'FileName =「」「D:\ Program Files \ Oracle \ VirtualBox \ VirtualBox.exe」「--comment」「PANT」「--startvm」「2c2e4312 -6d7d-4892-8a8f-1471a4d2c79d「」「' – YowE3K

+0

謝謝!有用!我也刪除了「cmd.exe/c」。 –

回答

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不會被」程序「和」文件「之間的空間所困惑。所以,你需要的字符串是:

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