我正在尝试将数据从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
答案 0 :(得分:26)
避免必须选择库的潜在替代方法是使用对象,即
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
答案 1 :(得分:21)
您需要在VBA项目中设置对Microsoft WinHTTP服务的引用(工具 - >参考)。
这就是它的样子:
此外,您可以阅读有关Microsoft WinHTTP服务版本5.1 here的更多信息。
答案 2 :(得分:2)
您需要更改参考(工具=>代码窗口中的参考)。查找Microsoft WinHTTP Services, version 5.1
(或更新)并勾选方框。如果您使用的是Vista和Office 2007,则可能还需要先注册。以administrartor打开命令窗口并粘贴:
>regsvr32.exe "c:\windows\system32\winhttp.dll"
它应该说它是否有效。