开发者

Sending HTTP requests with VBA from Word

I am trying to send data from a Word document to a web page. I have found some code, pasted it into a new module, and saved it. When I run it I get "compile error, user defined type not defined"

My code:

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


A potential alternative to avoid having to select the library is to use an object i.e.

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


You need to set a reference to Microsoft WinHTTP Services in your VBA Project (Tools -> References).

Here's what it would look like:

Sending HTTP requests with VBA from Word

Also, you can read more about the Microsoft WinHTTP Services, version 5.1 here.


You will need to change your references (Tools=>References in the code window). Look for Microsoft WinHTTP Services, version 5.1 (or newer) and tick the box. If you are using Vista and office 2007, you may also need to register it first. Open a command window as administrartor and paste:

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

It should say if it works.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜