VBA 本地文件的 winhttp 等价物

VBA winhttp equivalent for local file

所以我目前有一个子程序,它可以复制存储在我们内部网上的文档并将它们保存到我们的共享驱动器中。现在,我想做同样的事情,但文件存储在本地用户计算机上,而不是内部网上。我该怎么做?

Sub intranetPullFile(link, extent, strFile)    
 Set WinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
 If WinHttp Is Nothing Then Set WinHttp = CreateObject("WinHttp.WinHttpRequest")
 WinHttp.Open "GET", link , False
 WinHttp.Send
 arrResponse = WinHttp.ResponseBody
 Set WinHttp = Nothing
 Set oADO = CreateObject("ADODB.Stream")
 oADO.Type = 1
 oADO.Open
 oADO.Write arrResponse
 oADO.SaveToFile strFile, 2
 oADO.Close
end sub

我尝试按原样使用它,他们的 C:.... 地址是文件的 link,但我收到错误消息:URL 未使用可识别的协议.

所以,我标记了一个答案,因为它完成了我需要完成的工作,谢谢! --- 仍然好奇是否有关于 winhttp 如何工作的 'local file equivalent',但我现在可以继续,所以我很好。再次感谢。

您可以使用 CopyFile() 复制并指定一个新名称。如果您将 True 作为第三个参数传递,它也可以覆盖现有文件:

With CreateObject("Scripting.FileSystemObject")
    .CopyFile strSourceFile, strDestFile, True  
End With

VBA 可以在没有 FSO 的情况下在一行中完成:

FileCopy fullSourcePathandName, fullDestinationPathandName