2012-11-15 182 views
2

我想寫一點VBScript來在特定的網頁上打開瀏覽器。最終,這個網頁每個腳本都是唯一的。目前,我有以下代碼其中工程:使用vbscript在可變頁面上打開瀏覽器

Dim objShell 

objShell = CreateObject("Shell.Application") 
objShell.ShellExecute("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe", "www.google.ie", "", "", 1) 

但我想獲得以下工作:

Dim iURL As String 
Dim objShell 

iURL = "www.google.ie" 

objShell = CreateObject("Shell.Application") 
objShell.ShellExecute("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe", iURL, "", "", 1) 

任何想法是我做錯了嗎?任何幫助將不勝感激。

+0

發現問題是在啓動VBScript的外部程序中引起的。感謝您的幫助Alex K. – gaynorvader

回答

7

沒有As String如VBScript不強類型,你需要一個set當您創建COM對象&周圍的方法調用沒有括號的實例;

Dim iURL 
Dim objShell 

iURL = "www.google.ie" 

set objShell = CreateObject("Shell.Application") 
objShell.ShellExecute "chrome.exe", iURL, "", "", 1 

或者如果Chrome爲默認

set objShell = CreateObject("WScript.Shell") 
objShell.run(iURL) 
+0

我正在使用visual studio express 2012 for web,它會一直刪除設置並在括號中添加。我按照你推薦的方式嘗試了其他所有方法,但得到的結果相同。該變量沒有被使用,但直接字符串將工作。 – gaynorvader

+0

作爲一種改進,您可以使用:'oShell.ShellExecute「chrome.exe」,「」「」&iURL&「」「」,「」,「」,1'(將允許傳遞參數按空格拆分而不編碼) –

1

你能PL插入 「呼叫」 前綴 「objShell.ShellExecute」

Dim objShell 
Set objShell = CreateObject("Shell.Application") 

iURL = "www.google.com" 

Call objShell.ShellExecute("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe", iURL, "", "", 1) 

對於IE:

'Call objShell.ShellExecute("iexplore.exe", iURL, "", "", 1) 


For more info below code also works, 

Dim objShell 
Set objShell = CreateObject("Shell.Application") 

鉻:

iURL = "www.google.com" 
'objShell.ShellExecute "chrome.exe", iURL, "", "", 1 

即:

'objShell.ShellExecute "iexplore.exe", iURL, "", "", 1 
1

我發現最簡單的方法是做到這一點:

set WshShell=WScript.CreateObject("WScript.Shell") 
WshShell.run "chrome.exe" 
WScript.sleep 400 
WshShell.sendkeys "URL HERE" 
WshShell.sendkeys "{ENTER}" 

還只是一個供參考,你可以做到這一點,收鉻:

WshShell.sendkeys "%{F4}" 
+0

希望我沒有任何錯別字 – secretname

相關問題