我的目标是在VBA中检查互联网连接,但是当我尝试使用request.open调用网址时,我收到错误消息“参数不是可选的”。
可悲的是,互联网研究没有取得任何成果。
这是我的代码:
On Error GoTo NoConnectionErrorHandling
Dim Request As MSXML2.XMLHTTP60
Request.Open "http://www.google.com"
Request.send
MsgBox Request.Status
它挂起在显示代码的第三行。 我希望有人可以帮助我,因为我对VBA的经验非常少。
答案 0 :(得分:2)
您必须指定请求的类型。它可以是“GET”,“POST”或其他东西。
请参阅此处了解开放方法: https://msdn.microsoft.com/en-us/library/ms757849(v=vs.85).aspx
这些是参数:
<强> bstrMethod 强> 用于打开连接的HTTP方法,例如GET,POST,PUT或PROPFIND。对于XMLHTTP,此参数不区分大小写。当IXMLHTTPRequest在浏览器中托管时,不允许使用动词TRACE和TRACK。 What is the difference between POST and GET?
<强> bstrUrl 强> 请求的URL。这可以是绝对URL,例如“http://Myserver/Mypath/Myfile.asp”,也可以是相对URL,例如“../ MyPath / MyFile.asp”。
varAsync [可选]
bstrUser [可选]
bstrPassword [可选]
如您所见,该方法至少需要两个参数(其他3个是可选的)因此1是不够的。
您需要使用关键字Request
声明New
。因此,像下面这样的东西可以工作:
Public Sub TestMe()
Dim Request As New MSXML2.XMLHTTP60
Request.Open "GET", "http://www.bbc.com"
Request.send
MsgBox Request.Status
End Sub
每当您使用标准VBA库之外的库时,最好执行以下2之一:
Dim Request As Object
Set Request = CreateObject("Msxml2.ServerXMLHTTP.6.0")