我想使用VBA将值放在webform中

时间:2012-10-29 13:58:37

标签: excel-vba vba excel

我编写了以下VBA代码以自动登录到第三方应用程序。当我运行以下代码时,它只打开Internet Explorer浏览器并导航到该链接,然后什么都不做。 这是我的代码:

Sub Login_Aravo()

Dim ie

Dim sURL As String

On Error GoTo Err_Clear

sURL = "https://demo.aravo.com/"

Set ie = CreateObject("InternetExplorer.Application")

ie.Visible = True

ie.navigate sURL

Do

' Wait till the Browser is loaded

Loop Until ie.readyState = READYSTATE_COMPLETE

ie.Document.all.Item("j_username").Value = "Nothing" 'Enter your username here

ie.Document.all.Item("j_password").Value = "Nothing" 'Enter your password here

ie.Document.all.Item("login").Click


' oBrowser.Refresh ' Refresh If Needed

Err_Clear:

If Err <> 0 Then

'Debug.Assert Err = 0

Err.Clear

Resume Next

End If

End Sub

非常感谢您的帮助。

由于 奥雅纳

1 个答案:

答案 0 :(得分:1)

如果您慢慢地执行它,您的代码就会起作用。

问题是您正在加载重定向的页面,因此在加载第一页后错误地触发READYSTATE完成。

最简单的解决方法是加载最终加载的页面。如果您将sURL更改为:sURL = "https://demo.aravo.com/aems/login.do",则代码可以正常运行。

或者,您可以在第一个循环之后进行二次循环,等待确保您的登录页面已加载。像这样:

On Error Resume Next
 'This will loop until the correct page loads.
 Do
     Err.Clear
     ie.document.all.Item("j_username").Value = ""
 Loop Until Err.Number = 0