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

Microsoft.XMLHTTP请求在Excel VBA正常,VS Code中触发安全错误

问题:Excel VBA可正常运行的代码在VS Code中触发MSXML3.DLL安全错误

以下VBA代码在Excel模块中可正常执行:

Sub test()

    Dim restReq, url, apiKey
    url = "https://some.server.com/?param1=123"
    apiKey = "123342545"
    Set restReq = CreateObject("Microsoft.XMLHTTP")
    
    restReq.Open "GET", url, False
    restReq.SetRequestHeader "accept", "application/json"
    restReq.SetRequestHeader "X-ApiKey", apiKey
    restReq.send ("")
    
    'MsgBox restReq.getAllResponseHeaders
    MsgBox restReq.responseText

End Sub

但在Visual Studio Code中运行完全相同的代码时,会抛出如下错误:

MSXML3.DLL A security problem occurred.

可能的差异原因

  • 运行环境安全权限不同:Excel作为Office套件成员,拥有专属安全策略和权限沙箱,对MSXML组件的网络请求限制更宽松;而VS Code中运行VBA通常依赖第三方插件,执行环境的系统安全约束更严格,跨域或HTTPS请求被拦截。
  • MSXML组件版本差异:Excel可能默认调用更高版本的MSXML组件(如MSXML6.DLL),而VS Code中通过CreateObject("Microsoft.XMLHTTP")可能加载了老旧的MSXML3.DLL,该版本对现代TLS协议(如TLS 1.2及以上)支持不足,导致HTTPS证书验证失败。
  • 网络配置不一致:Excel会自动继承系统代理并适配企业安全认证,而VS Code的运行环境可能未正确加载代理配置,或者代理服务器对非Office程序的请求额外拦截,触发MSXML3的安全报错。
  • 信任配置不共享:Office信任中心可能已将目标服务器证书加入信任列表,VS Code的运行环境未继承该配置,MSXML3验证服务器证书时无法通过,从而抛出安全问题提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 11:35:05