从Word发送带有VBA的HTTP请求

时间:2010-06-25 15:21:17

标签: vba ms-word httprequest

我正在尝试将数据从Word文档发送到网页。我找到了一些代码,将其粘贴到一个新模块中并保存。当我运行它时,我得到“编译错误,用户定义的类型未定义”

我的代码:

Sub http()

  Dim MyRequest As New WinHttpRequest

    MyRequest.Open "GET", _
    "http://www.google.com"

    ' Send Request.
    MyRequest.Send

    'And we get this response
    MsgBox MyRequest.ResponseText

End Sub

3 个答案:

答案 0 :(得分:26)

避免必须选择库的潜在替代方法是使用对象,即

Sub http()
Dim MyRequest As Object

    Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
    MyRequest.Open "GET", _
    "http://www.google.com"

    ' Send Request.
    MyRequest.Send

    'And we get this response
    MsgBox MyRequest.ResponseText

End Sub

答案 1 :(得分:21)

您需要在VBA项目中设置对Microsoft WinHTTP服务的引用(工具 - >参考)。

这就是它的样子:

此外,您可以阅读有关Microsoft WinHTTP服务版本5.1 here的更多信息。

答案 2 :(得分:2)

您需要更改参考(工具=>代码窗口中的参考)。查找Microsoft WinHTTP Services, version 5.1(或更新)并勾选方框。如果您使用的是Vista和Office 2007,则可能还需要先注册。以administrartor打开命令窗口并粘贴:

>regsvr32.exe "c:\windows\system32\winhttp.dll"

它应该说它是否有效。