【发布时间】:2019-06-27 10:49:14
【问题描述】:
我需要通过 vba 应用程序在 msaccess 中下载一个非常大的文件。
使用对象 MSXML2.ServerXMLHTTP.6.0 和 WinHttp.WinHttpRequest.5.1 会导致错误,指出没有足够的可用存储空间来完成此操作。因此,我使用了来自 shdocvw.dll 的 DoFileDownload 方法。 我想要做的是向函数发送的请求传递一个额外的标头(API 密钥)。
这大概是我想做的事情。
Private Declare Function DoFileDownload Lib "shdocvw.dll" _
(ByVal lpszFile As String) As Long
Public Sub Download()
sDownloadFile = StrConv(<link_to_download>, vbUnicode)
'set a header before calling DoFileDownload
Call DoFileDownload(sDownloadFile)
End Sub
我该如何解决这个问题?
【问题讨论】:
-
欢迎来到 SO!请收下tour 并阅读How to Ask!办公是x86的?然后,您将 x86 进程的最大内存限制为 2GB。文件有那么大吗?
-
@ComputerVersteher 感谢您尝试帮助并欢迎我加入 SO!在看到其他人遇到类似问题后,我想到了 RAM 大小问题,但问题是该文件最多只有几百 MB(~250MB)。 Office版本为x86(32位)
-
你能展示一些示例代码/链接吗?
-
当然,请查看此链接。 pastebin.com/4NLabnfB 使用此代码,下载大于 ~250MB 的文件会导致错误。这就是我尝试使用 DoFileDownload 的原因。