我正在使用MSXML.HTTPRequest
VB 宏 (excel) 中的对象与 HTTP 服务器进行通信。问题是它间歇性地抛出以下错误。
msxml3.dll -2146697211 系统找不到指定的资源。
我在我的系统上注意到这发生在网络关闭时,但我的客户抱怨它在他的机器上间歇性地发生。鉴于他的系统安装了 Windows 7 并且有时可以运行,我认为这不是未安装正确库的问题。他已经在几个网络上尝试过,但仍然失败。
Function xmlHTTPPost(strURL, strData)
Dim objHttp
On Error Resume Next
xmlHTTPPost = ""
Set objHttp = CreateObject("Microsoft.XMLHTTP")
If Err.Number <> 0 Then
Err.Clear
Set objHttp = CreateObject("MSXML2.XMLHTTP")
End If
If Err.Number <> 0 Then
MsgBox "Error creating XMLHTTP object"
Err.Clear
Exit Function
End If
objHttp.Open "GET", strURL, False
If Err.Number <> 0 Then
Err.Clear
Set objHttp = Nothing
Exit Function
End If
objHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHttp.setRequestHeader "User-Agent", "Mozilla Compatible (MS IE 3.01 WinNT)"
objHttp.Send
If Err.Number <> 0 Then
MsgBox "Error " & Hex(Err.number) & " sending to server:" & vbCrLf & Err.description
xmlHTTPPost = "ERROR: " & Err.Source & " " & Err.Number & " " & Err.Description
Err.Clear
Else
xmlHTTPPost = objHttp.responseText
End If
Set objHttp = Nothing
End Function
它在我的盒子上运行良好,这是一个 Windows 7 + Microsoft Office 2007 安装。
我在网上查了很多,模糊地提到了两个原因。
- 由于代理或防火墙导致的网络问题。在这种情况下,它不应该连接,而不是间歇性连接。
- 库安装问题。同样,它根本不应该工作,但事实并非如此。