【问题标题】:VBA: An error occurred in the secure channel supportVBA:安全通道支持中发生错误
【发布时间】:2017-10-18 02:57:43
【问题描述】:

我在 VBA 中有一段代码可以完美运行很长时间。突然它无缘无故停止工作。我这边没有任何改变。

我用它来下载网页并将它们存储在这样的字符串中:

Function something() As String
URL = "www..."
Set XMLHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
XMLHTTP.Open "GET", URL, False
XMLHTTP.send
something = XMLHTTP.responseText
End Function

在 XMLHTTP.send 我收到以下错误: 运行时错误“-2147012739 (80072f7d)”:安全通道支持出现错误

这个错误是什么意思,怎么办?

我尝试阅读它,但它似乎是一个一般性错误,可能是很多事情。也许微软改变了一些协议或类似的东西?

【问题讨论】:

  • 所以这是一个 HTTPS 网址?可能服务器已从 SSL3 更改为 TLS 或更新的 TLS 版本,请尝试:stackoverflow.com/questions/35089900/…
  • 谢谢亚历克斯,是的,它是 HTTPS 网址,我关注了您的链接。它说在创建 winHttp 对象时添加 (XMLHTTP.option(9) = 128) 但遗憾的是它没有解决问题
  • 将主机名插入ssllabs.com/ssltest 运行测试,协议部分列出了什么? (SSL/TLS 等)。您正在运行什么版本的 Windows?
  • 协议:TLS 1.2,Windows 7 Professional SP1
  • 所以你需要在操作系统级别启用 TLS1.2,试试这个配置工具:nartac.com/Products/IISCrypto/Download 如果不满意,那么这个support.microsoft.com/en-gb/help/3140245/…(你可能仍然需要调整 .option(9))

标签: vba


【解决方案1】:

我遇到了同样的错误: 2018 年 6 月 30 日

我在 Windows 7 上运行 Excel,

在 Mac 上,并行。

这是一个非常简单的修复。

转到控制面板,

点击网络和互联网,

点击网络和共享中心, (在左下角单击 Internet 选项)

Internet 属性对话框将会出现, 点击高级标签

滚动到底部并打开“使用 TLS1.2” (在收到错误之前我的已经设置好了) 点击应用

以下是正确 Windows 操作系统更新文件所需的下载链接: http://www.catalog.update.microsoft.com/search.aspx?q=kb3140245

我从 Windows 资源管理器(文件管理器)下载并安装了 UpDate 重新启动 Windows

并运行 VBA。 完美运行

感谢 Srinath Gudimetla,请参阅下面的链接以获取完整详细信息: https://www.linkedin.com/pulse/working-vba-tls-protocol-srinath-gudimetla

【讨论】:

  • 非常感谢,我不敢相信这是我的问题!请注意,即使您不需要操作系统更新,也必须重新启动。
  • 非常感谢。有用。我只是不明白为什么 Windows 开发人员会做这样的默认设置来浪费他们的用户大量时间。
猜你喜欢
  • 2015-06-23
  • 2020-03-24
  • 1970-01-01
  • 1970-01-01
  • 2019-02-24
  • 2012-10-07
  • 2018-02-13
  • 1970-01-01
相关资源
最近更新 更多