Отправка 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
Ответы
Ответ 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"
Он должен сказать, работает ли он.