从URL下载Excel文件

时间:2015-10-22 18:14:06

标签: vb.net excel vba

背景

我试图在给定URL的情况下自动下载Excel文件。我知道如何做到这一点,并意识到有很多例子可以使用webbrowser或webclient控件来做到这一点,但我的情况有所不同。

问题

如果我只是将网址粘贴到普通浏览器中,则会导致我要求保存/打开文件。与Web浏览器或Web客户端控件使用相同的URL时,不会产生任何文件。我相信这是因为URL只是一个SharePoint链接,它发送获取文件的请求,但不是实际的文件本身。

这可以出于安全原因或任何情况而做,但我想知道是否有人找到了解决这个问题的方法?

也许只是模拟浏览器,然后模拟点击保存?

Excel文件的URL不以.xlsx结尾,它的结尾类似于:

webclient/zhZZXYRyAaLUgD?TC_file=redirs/viewdataset  

这就是我认为服务器只处理请求然后向浏览器提供文件的原因。

我试图在VB.NET中这样做,但VBA或VB的答案看起来应该也可以。

Fiddler结果

enter image description here

1 个答案:

答案 0 :(得分:2)

我似乎找到了解决问题的简单方法。在Internet Explorer中下载我的文件,然后查看我最近的下载后,如果您右键单击并选择“复制下载链接”,则IE有一个选项。这将真正的下载URL放在剪贴板中,实际上使用My.computer.downloadfile方法。