首页 > 解决方案 > 由于代理设置不正确,Excel 宏不起作用

问题描述

问题描述:

我的同事一个月前创建了一个基于 Excel 的应用程序,该应用程序在他的笔记本上运行良好。奇怪的是,同一工作簿无法在其他人的 PC 上运行。在未连接到 AD 的虚拟 Windows 10 会话中运行时,工作簿也可以按预期工作。我们都使用连接到同一个 AD 服务器的公司计算机,所以我不明白为什么代码在他的机器上运行,而不是在其他机器上运行。

到目前为止我发现了什么:

PS C:> netsh winhttp 显示代理

当前 WinHTTP 代理设置:

直接访问(无代理服务器)。

我假设有一些专门为 Excel 设置的设置,我只是找不到,我没有更多的想法去哪里看。

代码

Excel 宏在不更改任何其他设置的情况下创建一个 WinHttpRequest 对象,如以下代码摘录所示:

Set httpReq = CreateObject("WinHttp.WinHttprequest.5.1")
httpReq.setTimeouts -1, -1, -1, 600000
httpReq.Open "GET", url, False
httpReq.send request
myResponse = httpReq.ResponseText

url不是指向代理服务器,而是包含本地 IP 地址。

将不胜感激在这个问题上的任何帮助。提前致谢!

标签: excelvbaweb-scrapingproxy

解决方案


您可以更改代理设置。例如,

httpReq.SetProxy(1)

此选项可用于指定应直接访问所有 HTTP 和 HTTPS 服务器。

通过 js 版本在此处添加信息


推荐阅读