保持运行时错误VBA
我试图通过主login页面和第二个一次性密码(OTP)页面login到我的网站。 但我越来越和错误
运行时错误“-2147467259(80004005)”:
自动化错误
未指定的错误
发现在这一行:
If InStr(wd.document.Title, "Sales Force Automation") <> 0 Then
我在这里做错了什么? 我刚刚从2天前开始学习这门语言。
Dim wd As SHDocVw.InternetExplorer Sub login() Dim username As Range Dim password As Range Dim otp As Range Dim myValue As Variant Set wd = CreateObject("InternetExplorer.Application") wd.silent = True wd.navigate "Http://www.XXXXXXXXXXX.com" wd.Visible = True Set username = Range("B1") Set password = Range("B2") While wd.Busy DoEvents Wend wd.document.all.UserId.Value = username wd.document.all.password.Value = password Application.Wait (Now + TimeValue("0:00:10")) wd.document.all.btnobj.Click myValue = InputBox("Enter OTP") Range("B3").Value = myValue Err_Clear: If Err <> 0 Then Err.Clear Resume Next End If Call FindTicketWindow End Sub Sub FindTicketWindow() Dim otp As Range For Each wd In CreateObject("Shell.Application").Windows If wd = "Internet Explorer" Then If InStr(wd.document.Title, "Sales Force Automation") <> 0 Then Application.Wait (Now + TimeValue("0:01:00")) Exit For End If End If Next wd Set otp = Range("B3") While wd.Busy DoEvents Wend myVar = wd.document.Title wd.document.all.verficationcode.Value = otp Application.Wait (Now + TimeValue("0:00:10")) wd.document.all.btnobj.Click End Sub
我之前有过这样的问题,我发现VBA正在试图在对象创build或更改之前对对象执行操作。 因此在逐步完成代码工作时,因为在完成计算的步骤之间有足够的时间。