从excel VBA进行身份验证

从excel VBA进行身份验证,vba,excel,Vba,Excel,我正在用excel VBA尝试一些internet explorer自动化。当用户按下按钮时,他被带到gmail,在那里他必须对自己进行身份验证。身份验证后,他可以将数据发布到web服务。这是我的密码 Dim AppUrl As String AppUrl = "https://mail.google.com" Call NavigateToURL(AppUrl) Public Sub NavigateToURL(argURL) Dim LoginURL As String Dim Servi

我正在用excel VBA尝试一些internet explorer自动化。当用户按下按钮时,他被带到gmail,在那里他必须对自己进行身份验证。身份验证后,他可以将数据发布到web服务。这是我的密码

Dim AppUrl As String
AppUrl = "https://mail.google.com"
Call NavigateToURL(AppUrl)

Public Sub NavigateToURL(argURL)
Dim LoginURL As String
Dim ServiceUrl As String
Dim objIE As Object
Dim URl As String

LoginURL = "https://mail.google.com/mail/u/0/#inbox"


Set objIE = CreateObject("InternetExplorer.Application")

With objIE
.Visible = True
.Silent = False
.Navigate argURL
While IE.Busy
DoEvents
Wend
Do
    If objIE.LocationURL()= LoginURL Then
        MsgBox("Successfully Authenticated")
        Call requestPost 'to post excel data to a webservice

     Exit Do
    Else 
        MsgBox("Authentication failed")

    End If
Loop While objIE.LocationURL() <> (LoginURL)

End With

End Sub
Dim AppUrl作为字符串
AppUrl=”https://mail.google.com"
调用NavigateToURL(AppUrl)
公共子导航URL(argURL)
Dim LoginURL作为字符串
将ServiceUrl设置为字符串
模糊对象
将URl设置为字符串
罗吉努尔=”https://mail.google.com/mail/u/0/#inbox"
Set objIE=CreateObject(“InternetExplorer.Application”)
与奥布杰
.Visible=True
.Silent=False
.浏览argURL
趁我忙
多芬特
温德
做
如果objIE.LocationURL()=LoginURL,则
MsgBox(“已成功验证”)
调用requestPost'将excel数据发布到Web服务
退出Do
其他的
MsgBox(“身份验证失败”)
如果结束
在objIE.LocationURL()时循环(LoginURL)
以
端接头
但我面临的问题是,一旦完全加载,就会检查if条件并显示消息authentication failed。我希望程序等待加载。有办法吗

而不是使用

While IE.Busy
DoEvents
Wend
请尝试
Application.Wait Now+TimeSerial(0,0,4)