Отправка HTTP-запросов с помощью VBA из Word - PullRequest
20 голосов
/ 25 июня 2010

Я пытаюсь отправить данные из документа 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 ]

26 голосов
/ 28 июня 2010

Потенциальная альтернатива, позволяющая избежать выбора библиотеки, - это использовать объект, т.е.

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
21 голосов
/ 25 июня 2010

Вам необходимо установить ссылку на Microsoft WinHTTP Services в вашем проекте VBA (Инструменты -> Ссылки).

Вот как это будет выглядеть:image

Также, вы можете узнать больше о Microsoft WinHTTP Services, версия 5.1 здесь .

2 голосов
/ 25 июня 2010

Вам нужно будет изменить свои ссылки (Инструменты => Ссылки в окне кода).Ищите Microsoft WinHTTP Services, version 5.1 (или новее) и отметьте флажок.Если вы используете Vista и Office 2007, вам также может понадобиться сначала зарегистрировать его.Откройте окно командной строки как администратор и вставьте:

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

Должно быть сказано, работает ли оно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...