1

使用 vba 和 excel,我希望从我不知道原始文件名的 url 下载文件。使用 URLDownloadToFile 或与 WinHttpRequest 一样的其他方法,希望您为正在下载的文件命名。我想用原始文件名保存,就像导航到 Internet Explorer 上的 url 一样。

我的网址示例: https ://mysite.com/PDF/CreatePDFforProcess.aspx?ID=6370947

在 Internet Explorer 上,这将打开一个另存为窗口,并带有默认文件名建议。

非常感谢

4

1 回答 1

1

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

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

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

你不应该期望Content-Disposition总是被填充。由于您上传了输入文件,因此通过输入文件名称的某些变体来命名响应文件可能更有意义。

于 2012-11-02T20:16:08.360 回答