2014-02-21 90 views
3

我正在編寫一個代碼從網站下載文件,但我必須使用Chrome瀏覽器。 我使用shell命令在所需的URL中打開Goog​​le Chrome,並在shell命令之後嘗試使用AppActivate命令,但它不起作用。AppActivate返回excel

的命令如下

Sub DL(URL as string) 

    Shell ("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe -url URL") 
    AppActivate ("MicroSoft Excel - SIEVE") 

End Sub 

篩是我的工作簿的名稱。我試過僅使用MicroSoft Excel,Excel和其他組合,但只能使用MicroSoft Excel和Microsoft Excel - SIEVE我沒有收到錯誤消息。

任何人都可以幫助我嗎?

回答

2

我不認爲你需要包括你的工作簿的名稱。

試試這個:

Sub DL(URL As String) 

Shell ("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe -url URL") 
AppActivate "MicroSoft Excel" 

End Sub 

如果你有多個工作簿打開,錯誤的工作簿被帶到查看,你總是可以在AppActivate前插入這樣的:

Workbooks("SIEVE").Activate 

編輯

原因AppActivate似乎沒有工作是因爲它工作得太快。該代碼在Chrome有機會完全打開之前執行,因此在AppActivate發生後,Chrome被激活。我看到您擁有的最佳選擇是使用Application.Wait()並等待Chrome加載完成。事情是這樣的:

Sub DL(URL As String) 
    Shell ("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe -url URL") 

    Application.Wait (Now + TimeValue("0:00:10")) '<~~ Waits ten seconds. 

    AppActivate "MicroSoft Excel" 
End Sub 
+0

奇怪,因爲它似乎,它只是將無法正常工作。 沒有什麼變化。 你知道關閉Chrome的方法嗎? –

+0

請參閱我的編輯。 – ARich

-1

你可以試試這個:

On Error Resume Next 
**AppActivate Application.Caption** 
On Error GoTo 0