You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 7 x64环境下MS Access VBA下载网络文件报错:无法定位指定资源

Windows 7 x64环境下MS Access VBA下载网络文件报错:无法定位指定资源

我之前遇到过一模一样的问题,这个错误在Win7上出现,大概率是TLS版本兼容问题导致的——现在绝大多数HTTPS网站都要求使用TLS 1.2及以上版本,但Windows 7默认不启用TLS 1.2,而且你用的MSXML2.XMLHTTP组件在Win7上的旧版本,本身就不支持强制指定高版本TLS协议。

下面给你几个针对性的解决步骤,按顺序试下来基本能搞定:

1. 替换XMLHTTP组件为支持TLS的版本

把代码里的MSXML2.XMLHTTP换成MSXML2.ServerXMLHTTP.6.0,这个组件专门为服务端/网络请求优化,支持手动设置TLS版本,兼容性更好。

2. 在代码中强制启用TLS 1.2

在objXMLHTTP.Open之前添加TLS版本设置,确保请求强制使用TLS 1.2协议,避免Win7默认用旧协议被网站拒绝。

3. 安装Win7系统补丁(关键前提)

Windows 7需要安装KB3140245补丁才能原生支持TLS 1.2,如果没装这个补丁,哪怕代码设置对了也会报错,记得先给Win7系统补上这个补丁。

修正后的完整代码:

Sub DownloadFile(URL As String, LocalFile As String)
    Dim objXMLHTTP As Object
    Set objXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP.6.0")
    
    ' 强制启用TLS 1.2协议(16777216是TLS 1.2的版本标识)
    objXMLHTTP.setOption 3, 16777216
    
    objXMLHTTP.Open "GET", URL, False
    ' 可选:添加超时设置,避免请求卡住
    objXMLHTTP.setTimeouts 30000, 30000, 30000, 30000
    objXMLHTTP.send
    
    If objXMLHTTP.Status = 200 Then
        Dim objADOStream As Object
        Set objADOStream = CreateObject("ADODB.Stream")
        objADOStream.Open
        objADOStream.Type = 1 ' adTypeBinary
        objADOStream.Write objXMLHTTP.ResponseBody
        objADOStream.SaveToFile LocalFile, 2 ' adSaveCreateOverWrite
        objADOStream.Close
        Set objADOStream = Nothing
    Else
        ' 可选:添加错误提示,方便排查问题
        MsgBox "下载失败,状态码:" & objXMLHTTP.Status & ",描述:" & objXMLHTTP.StatusText
    End If
    
    Set objXMLHTTP = Nothing
End Sub

Private Sub Form_Open(Cancel As Integer)
    Call DownloadFile("https://ghaemcoarsh.com/APPY/BMH.exe", "C:\Users\Administrator\Desktop\test\BMH.exe")
End Sub

额外排查点

  • 确认Win7的IE浏览器至少升级到IE11,因为MSXML组件依赖IE的安全配置
  • 检查目标文件夹C:\Users\Administrator\Desktop\test\是否存在,避免后续保存文件失败
  • 排查Win7的防火墙/杀毒软件是否拦截了Access的网络请求

备注:内容来源于stack exchange,提问作者Johnydev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 15:32:45