Vba 下载具有原始文件名的文件

Vba 下载具有原始文件名的文件,vba,excel,winhttprequest,Vba,Excel,Winhttprequest,使用vba和excel,我希望从一个url下载一个文件,我不知道原始文件名是什么。 使用URLDownloadToFile或WinHttpRequest中的其他方法,需要您命名正在下载的文件。我想用原始文件名保存,就像在internet explorer上导航到url一样 我的url示例: 在Internet explorer上,这将打开一个另存为窗口,默认文件名为sugestion 非常感谢您可以从响应HTTP头获取文件类型和文件名(有时) 例如,我通过名为xhr的XMLHttpReques

使用vba和excel,我希望从一个url下载一个文件,我不知道原始文件名是什么。 使用URLDownloadToFile或WinHttpRequest中的其他方法,需要您命名正在下载的文件。我想用原始文件名保存,就像在internet explorer上导航到url一样

我的url示例:

在Internet explorer上,这将打开一个另存为窗口,默认文件名为sugestion


非常感谢

您可以从响应HTTP头获取文件类型和文件名(有时)

例如,我通过名为
xhr
的XMLHttpRequest对象获取文件:

debug.print xhr.getResponseHeader("Content-Type")
>application/pdf
debug.print xhr.getResponseHeader("Content-Disposition")
>attachment; filename="test.pdf"

您不应期望总是填充
内容处置。由于您上载了一个输入文件,因此通过输入文件名的一些变化来命名响应文件可能更有意义。

您可以从响应HTTP头获取文件类型和文件名(有时)

例如,我通过名为
xhr
的XMLHttpRequest对象获取文件:

debug.print xhr.getResponseHeader("Content-Type")
>application/pdf
debug.print xhr.getResponseHeader("Content-Disposition")
>attachment; filename="test.pdf"

您不应期望总是填充
内容处置。由于您上载了一个输入文件,因此通过输入文件名称的某些变化来命名响应文件可能更有意义。

您好,如果我理解您的意思,您希望使用Excel中的VBA脚本浏览网站并下载文件。是吗?是的,是的。我知道文件的URL,我只是不知道我会得到什么文件名。我想使用默认文件名,就像使用浏览器一样。如本例中所示:,您将获得一个pdf文件,但无法从链接中分辨类型和名称。是否确实要使用Excel中嵌入的VBA进行此操作?我宁愿推荐一个Greasemonkey脚本或使用其他类型的浏览器插件。是的,当然。我正在一个excel工具上开发它,该工具可以上传计算的XML报告。我需要下载的文件是经过验证的计算文档。拥有excel中的功能将简化并大大减少用户的手动工作流程。您好,如果我理解您的意思,您希望使用excel中的VBA脚本浏览网站并下载文件。是吗?是的,是的。我知道文件的URL,我只是不知道我会得到什么文件名。我想使用默认文件名,就像使用浏览器一样。如本例中所示:,您将获得一个pdf文件,但无法从链接中分辨类型和名称。是否确实要使用Excel中嵌入的VBA进行此操作?我宁愿推荐一个Greasemonkey脚本或使用其他类型的浏览器插件。是的,当然。我正在一个excel工具上开发它,该工具可以上传计算的XML报告。我需要下载的文件是经过验证的计算文档。excel中的功能将简化并大大减少用户的手动工作流程。