Подтвердить что ты не робот

Отправка HTTP-запросов с помощью VBA из Word

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

Ответ 1

Потенциальной альтернативой, чтобы избежать необходимости выбирать библиотеку, является использование объекта 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

Ответ 2

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

Вот как это будет выглядеть:
WinHTTP.png.jpg

Кроме того, вы можете подробнее узнать о службах Microsoft WinHTTP, версии 5.1 здесь.

Ответ 3

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

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

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