1

MSXML.HTTPRequestVB マクロ (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 インストールである私のボックスで完全に動作しています。

私はオンラインでたくさん検索しましたが、2つの理由が漠然と言及されています.

  1. プロキシまたはファイアウォールによるネットワークの問題。この場合、断続的にではなく、決して接続しないでください。
  2. ライブラリのインストールの問題。繰り返しますが、まったく機能しないはずですが、そうではありません。
4

4 に答える 4

3

今のところ、メソッドを GET から POST に変更することでこれを解決できました。エラーは断続的でしたが、幸いなことに開発マシンに一度表示されるようになり、HTTP メソッドを POST に変更するとうまくいきました。しかし、それは非常に奇妙ですが、うまくいきました。

于 2012-07-31T13:18:54.673 に答える
1

サーバーでも時々これを取得しています。サーバーを再起動すると、正常に動作し始め、断続的に失敗します。もう一度再起動する必要がありました。エラーメッセージはランダムで断続的です。

于 2012-08-27T08:37:13.933 に答える
0

MSXML v6.0 を使用してください。MSXML v3.0 は、Office または Windows では配布されなくなりました。v6.0 は Windows 7 でのみ配布されます。ただし、office 2010+ には、MSXML のどのバージョンも付属しなくなりました。これにより、問題の理由が説明されます。

ウィキペディアにも記載されています: http://en.wikipedia.org/wiki/MSXML

于 2012-08-27T11:38:07.973 に答える