Excel 在Visual Basic for Applications中处理缺少internet连接的问题
我正在创建一个简单的代码,它进入一个网站,点击一个登录按钮,输入登录详细信息等,并下载数据。我知道这不是推荐的方法,但是使用Excel 在Visual Basic for Applications中处理缺少internet连接的问题,excel,internet-explorer,vba,xmlhttprequest,Excel,Internet Explorer,Vba,Xmlhttprequest,我正在创建一个简单的代码,它进入一个网站,点击一个登录按钮,输入登录详细信息等,并下载数据。我知道这不是推荐的方法,但是使用Microsoft.XMLHTTPwhere IGETURL没有帮助,因为我登录后最终到达的页面的URL生成了唯一的身份验证令牌。例如,昨天是URL=www.abcd.com/abcd-EFGH-IJKL,今天是URL=www.abcd.com/MNOP-QRST-UVWX,所以我没有设置URL。 因此,使用InternetExplorer.Application方法,我试
Microsoft.XMLHTTP
where IGET
URL没有帮助,因为我登录后最终到达的页面的URL生成了唯一的身份验证令牌。例如,昨天是URL=www.abcd.com/abcd-EFGH-IJKL
,今天是URL=www.abcd.com/MNOP-QRST-UVWX
,所以我没有设置URL。
因此,使用InternetExplorer.Application
方法,我试图处理与internet的断开连接。断开与internet的连接不会产生错误,而只是一个空白页,因此我无法在错误转到LineX时使用。如何处理代码中的断开连接,例如:
Dim IE as Object
Set IE = CreateObject (InternetExplorer.Application")
IE.navigate "www.abcd.com"
If 'some sort of status response' = 'some value' Then Msgbox 'You are disconnected from the internet'
Else
End If
是否有一个状态响应代码(与Microsoft.XMPHTTP
一样),我可以用它通知msgbox用户“请连接到internet等”
谢谢。我不熟悉获取实际HTTP响应的方法,但是您可以检查页面上的某种元素(或者如果有元素的话),如下所示:
elements = IE.document.getElementsByTagName("input") 'Or whatever element will be on that page
If elements.Length = 0 Then
MsgBox "Please connect to the Internet."
End If
这在我尝试的时候效果很好: