Vba AppActivate返回excel

Vba AppActivate返回excel,vba,excel,Vba,Excel,我正在写一个从网站下载文件的代码,但我必须使用Chrome。 我使用shell命令在所需的URL中打开Google Chrome,在shell命令之后,我尝试使用AppActivate命令,但它不起作用 命令如下 Sub DL(URL as string) Shell ("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe -url URL") AppActivate ("MicroSoft Excel - S

我正在写一个从网站下载文件的代码,但我必须使用Chrome。 我使用shell命令在所需的URL中打开Google Chrome,在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是我的工作簿的名称。我尝试过只使用MicrosoftExcel、Excel和其他组合,但仅使用MicrosoftExcel和MicrosoftExcel-SIEVE,我没有收到错误消息


有人能帮我吗?

我想你不需要包括工作簿的名称

试试这个:

Sub DL(URL As String)

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

End Sub
如果您打开了多个工作簿,并且查看了错误的工作簿,则可以始终在激活
之前插入此工作簿:

Workbooks("SIEVE").Activate

编辑

AppActivate
似乎无法工作的原因是它工作得太快。代码在Chrome有机会完全打开之前执行,因此Chrome在
AppActivate
发生后被激活。我看到的最好的选择是使用并等待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
Sub-DL(URL作为字符串)
Shell(“C:\ProgramFiles(x86)\Google\Chrome\Application\Chrome.exe-url”)
Application.Wait(现在+时间值(“0:00:10”)”您可以尝试以下操作:

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

虽然看起来很奇怪,但它就是不起作用。没有什么变化。你知道关闭chrome的方法吗?