从VB Excel宏代码错误 - MSXML3.DLL -2146697211系统找不到指定的资源

2019-06-26 15:02发布

我使用在VB宏(Excel文件)的MSXML.HTTPRequest对象与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安装正常使用。

我寻觅了很多网上,和两方面的原因已经隐约提及。

  1. 由于代理服务器或防火墙的网络问题。 在这种情况下,不应该连接,未间断。
  2. 图书馆安装问题。 再次,它不应该在所有的工作,但事实并非如此。

我真的很感激有这方面的帮助。

Answer 1:

现在我能够改变从GET到POST方法来解决这个问题。 错误是间歇幸好它开始出现在我的dev的机器一次,改变HTTP方法POST的伎俩。 这是非常奇怪的是,虽然应该发生,但它的工作。



Answer 2:

我也是有时候我的服务器收到这个。 一旦我重新启动服务器,它开始工作的罚款,并再次间歇性失败。 我又不得不重新启动。 该错误消息是随机的,间歇性的。



Answer 3:

FWIW,我得到了同样的错误。 由于它(最终)横空出世,有在XML文件中的错误。 我傻,我本来以为微软会提供一个更有意义的错误消息。 如果您收到此错误,请尝试使用的许多XML检查项目之一。



Answer 4:

使用MSXML V6.0,V3.0 MSXML不再与Office或Windows分布。 V6.0仅在Windows 7分发,但办公室2010+不再附带MSXML的任何版本了。 这说明您的问题的原因。

这也是一个在维基百科的描述: http://en.wikipedia.org/wiki/MSXML



文章来源: Error from VB excel macro code - msxml3.dll -2146697211 The system cannot locate the resource specified