excel - WinHttpRequest 在不同文件中使用代码时停止工作

标签 excel vba

下面的代码在一个文件中完美运行,但是当我尝试在另一个文件中使用它时,我收到错误“未定义用户定义的类型”并且“http As New WinHttpRequest”被突出显示。这可能是什么原因突然不起作用?
谢谢!

url = Links(2, j)
Dim http As New WinHttpRequest
http.Open "GET", url, False
http.send
Dim Resp As String: Resp = http.ResponseText

最佳答案

问题是 WinHttpRequest库未添加到项目中,而是添加到其他 Excel 文件中。
添加 WinHTTP VBE 菜单 > 工具 > 引用中的库:
enter image description here
上述方法称为早期绑定(bind) .下面那个叫后期装订 :
如果您想避免添加库并使用速度较慢的代码并且没有 Intellisense,请使用以下命令:

Dim http As Object
Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
然后简单地复制和粘贴这个总是有效的:
Sub TestMe()
    
    Dim http As Object
    Set http = CreateObject("WinHttp.WinHttpRequest.5.1")    
    http.Open "GET", "https://stackoverflow.com", False
    http.Send
    Debug.Print http.ResponseText

End Sub

关于excel - WinHttpRequest 在不同文件中使用代码时停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63526195/

相关文章:

excel - 根据多个条件删除行

excel - 未找到 Oracle 客户端和网络组件 - Excel VBA

excel - 在代码段上出现 "Argument not optional"错误

excel - 设置Excel电子表格的 "Title"属性

vba - 如何正确调用vba函数

VBA 在工作表之间匹配和复制单元格值

excel - 如何在vba中向outlook中的多个收件人发送邮件

excel - Worksheet_BeforeDoubleClick(ByVal Target As Range,Cancel As Boolean)和范围错误

excel - Selection.clear 不会取消选择选择

vba - vba vlookup中的滞后