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

VBA自动更新EdgeDriver报错80070005访问被拒,求解决方案

问题描述
  • 此前使用的EdgeDriver自动更新VBA方案已稳定运行2年,本周突然失效
  • 执行Edge相关更新代码时,.send命令触发Excel VBA错误:80070005 访问被拒绝(对应错误码 -2147024891 (80070005))
  • 当前使用64位Microsoft® Excel® for Microsoft 365 MSO(版本2310 内部版本16.0.16924.20054),怀疑故障与Office更新有关,需排查原因并给出解决思路
相关代码
Public Sub UpdateDriver(ByVal DriverType As dType)

    'URLs to the drivers' home pages to which we can grab the curr versions
    Dim URLPath As String
    Select Case DriverType
    Case dType.Chrome
        URLPath = "https://chromedriver.chromium.org/home"
    Case dType.Edge
        URLPath = "https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/"
    End Select
    
    'Grab the current Version # from the driver's webpage
    Dim Doc As New HTMLDocument, DriverVer As String
    With New MSXML2.XMLHTTP60
        .Open "GET", URLPath
        .send
        Doc.body.innerHTML = .responseText
    End With
    DriverVer = getCurrentVersion(Doc, DriverType)
    
    DownloadUpdatedDriver DriverVer, DriverType
    ExtractZipAndCopy DriverType

End Sub
故障原因分析及解决思路

可能原因

  • Office 365 2310版本安全策略升级:该版本可能强化了对VBA发起外部HTTP请求的权限管控,MSXML2.XMLHTTP60的请求被拦截
  • 目标站点反爬机制更新:微软Edge WebDriver页面新增了用户代理(UA)检测等反爬规则,原代码未携带合规请求头,导致服务器拒绝访问
  • 系统安全软件拦截:防火墙、杀毒软件将Excel的网络请求判定为风险操作,直接拒绝访问

解决思路

  1. 添加合规请求头:在.Open方法之后、.send之前添加模拟浏览器的请求头,示例代码:
    .setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0"
    .setRequestHeader "Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
    
  2. 更换HTTP请求组件:改用WinHttp.WinHttpRequest.5.1替代MSXML2.XMLHTTP60,部分环境下该组件的权限限制更宽松,替换后代码结构不变,仅需修改对象声明
  3. 调整Office安全设置:
    • 打开Excel选项→信任中心→信任中心设置→宏设置,确认未启用最高级别的宏阻止策略
    • 检查“外部内容”相关设置,允许VBA发起网络请求
  4. 排查系统安全软件:临时关闭防火墙或杀毒软件测试请求是否正常,若恢复则将Excel进程添加到安全软件的信任列表
  5. 改用官方API获取版本号:直接请求微软官方版本号接口获取最新EdgeDriver版本,无需解析网页,稳定性更高,示例代码:
    With New MSXML2.XMLHTTP60
        .Open "GET", "https://msedgedriver.azureedge.net/LATEST_RELEASE"
        .send
        DriverVer = .responseText
    End With
    

内容的提问来源于stack exchange,提问作者dcooke570

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 11:35:59