我正在编写代码从网站下载文件,但我必须使用Chrome。 我使用shell命令在所需的URL中打开谷歌浏览器,在shell命令之后我尝试使用AppActivate命令,但它无效。
命令如下
Sub DL(URL as string)
Shell ("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe -url URL")
AppActivate ("MicroSoft Excel - SIEVE")
End Sub
SIEVE是我工作簿的名称。我尝试过只使用MicroSoft Excel,Excel和其他组合,但只能使用MicroSoft Excel和Microsoft Excel - SIEVE我没有收到错误信息。
任何人都可以帮助我吗?
答案 0 :(得分: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有机会完全打开之前执行,因此Chrome会在 AppActivate
发生后激活。我看到您的最佳选择是使用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
答案 1 :(得分:-1)
你可以试试这个:
On Error Resume Next
**AppActivate Application.Caption**
On Error GoTo 0