我需要从URI自动下载并保存文件。我想我可以使用“urlmon”库中的URLDownloadToFile,但我想使用WebClient.DownloadFile方法。
我希望它会成为一个小路,但由于我以外的原因,我无法在VBA 7 IDE中查看或使用WebClient类的成员。我已经引用了.Net 2框架的System.tlb,并且能够看到System.Net命名空间中的类,但许多类的成员都不可见,我不能在我的代码中使用它们。
尝试使用如下代码时出现编译错误:
Dim Downloader as New System.WebClient
Downloader.DownloadFile("uri","filename")
也许我没有注册要在VBA中使用的.Net类,因此问题但是;我项目中引用的System.dll
位于C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.tlb
让我更加困惑。此外,如果有人可以详细说明在VBA 7中引用.Net Framework库的过程,那将会非常有帮助。
提前致谢!
答案 0 :(得分:1)
代替.Net库,我建议使用MSXML库。您可以通过单击“工具”--->将其添加到IDE中的VBA中。 “引用...”并选中“Microsoft XML,x.x”旁边的框,其中x.x是最新版本。
以下是您可以运行的快速测试:
Public Sub Downl()
Dim xhttp As MSXML2.XMLHTTP
Set xhttp = New MSXML2.XMLHTTP
Dim oFile As Integer
oFile = FreeFile()
Open CurrentProject.Path & "\test.png" For Binary Access Write As oFile
Dim bdata() As Byte
With xhttp
.Open "GET", "https://www.google.com/images/srpr/logo11w.png", False
.send
bdata = .responseBody
Put oFile, 1, bdata
End With
Close oFile
End Sub