Я пытаюсь отправить данные от документа 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
Потенциальной альтернативой, позволяющей избежать выбора библиотеки, является использование объекта, например
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
Вам необходимо установить ссылку на Microsoft WinHTTP Services в вашем проекте VBA (Инструменты -> Ссылки).
Вот как это будет выглядеть:
Кроме того, вы можете узнать больше о Microsoft WinHTTP Services версии 5.1 здесь .
Вам нужно изменить ваши ссылки (Tools=>References в окне кода). Найдите Microsoft WinHTTP Services, версия 5.1
(или новее) и поставьте галочку. Если вы используете Vista и office 2007, вам также может потребоваться сначала зарегистрировать его. Откройте окно команд от имени администратора и вставьте:
>regsvr32.exe "c:\windows\system32\winhttp.dll"
Должно быть написано, работает ли это.