2017-03-10 32 views
-1

我想用VBA来从URL中下载Excel文件。不幸的是,我只有包含“下载按钮”的网址,因为一旦我点击按钮,网址不是.../file.xls,但是一个奇怪的,如果我去,不会激活下载处理。
所以我想知道如果有一个办法可以让VBA去这个网址,并以下载文件点击按钮。VBA:去一个网址,然后点击一个按钮来downlod文件

预先感谢您。

更新:

这是代码:

Dim IE As InternetExplorer 
Sub Test() 

' Create InternetExplorer Object 
Set IE = CreateObject("InternetExplorer.Application") 
' You can uncoment Next line To see form results 
IE.Visible = True 

' Send the form data To URL As POST binary request 
IE.navigate "http://webpage.com/" 

' Wait while IE loading... 
While IE.Busy 
    DoEvents 
Wend 

Set objInputs = IE.Document.getElementsByTagName("link") 

For Each ele In objInputs 
    If ele.Title Like "List of control sheets having one or more declared Then alert(s)." Then 'Text on the link 
     ele.Click 
    End If 
Next 

End Sub 

不过,我认为对象I'aiming的是更像一个按钮一个环节,因为在源头,只有几个这些行:

<LINK rel=stylesheet type=text/css href="/frm/wdk/theme/documentum/css/webforms.css"> 

回答

1

你可以使用这个用来访问网页的IE:

Dim ie As Object 
Set ie = CreateObject("InternetExplorer.application") 
With ie 
    .Visible = True 
    .Navigate ("http://yourlink") 
    While .Busy Or .ReadyState <> 4: DoEvents: Wend 
End With 

然后使用命令SendKeys "{TAB}", True去按钮和命令SendKeys "{ENTER}", True来点击它

+0

谢谢回答。我应该如何使用SendKeys“{TAB}”,是真的?我的意思是我怎样才能让VBA知道我在说哪个按钮? – Francis

+0

其实在这种情况下,你需要计算你需要手动多少标签,以实现按钮的焦点,您也可以使用此命令ie.Document.All(“ButtonID”),点击,但是你必须知道按钮的ID值你看HTML源代码 –

+0

这真的很酷。例如,如果按钮中心的位置是3(从左到右)和5(从下到上),我应该如何编写这一行代码? – Francis