我想从Excel工作表中获取值并将其存储在数组中。然后,我想从数组中获取值并使用它们来填充Web表单。
我设法将值存储在数组中,并设法使VBA打开Internet Explorer(IE)
代码运行并且没有错误出现,但是没有填充文本字段,也没有单击按钮
(调试器指向[While .Busy]
作为错误源,位于WITH
块中)
我该如何填写表格(总共要填写3个文本框)?
还有一个下拉菜单,我需要从中选择一个值,但是在继续执行该任务之前,需要填充文本框。
Sub CONNECT_TO_IE()
the_start:
Dim ie As Object
Dim objElement As Object
Dim objCollection As Object
acct = GET_CLIENT_NAME()
name = GET_CODE()
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.navigate ("<<my_website>>")
ie.FullScreen = False
On Error Resume Next
Do
DoEvents
If Err.Number <> 0 Then
ie.Quit
Set ie = Nothing
GoTo the_start:
End If
Loop Until ie.readystate = 4
Application.Wait Now + TimeValue("00:00:10")
ie.Document.getElementbyid("<<field_1>>").Value = "PPP"
ie.Document.getElementbyid("<<field_2>>").Value = "PPP"
ie.Document.getElementbyid("<<field_3>>").Click
Set ie = Nothing
End Sub
答案 0 :(得分:0)
更新:原来不起作用的原因是因为网站HTML中的某些设置不允许自动化发生,因此我使用的所有代码版本都是正确的,但注定会失败。因此,@ TimWilliams在这方面是正确的。
我知道这一点,因为我尝试访问的网站位于安全的服务器/虚拟机上。我编辑了代码以填写google搜索栏,但它在虚拟机上不起作用,但是当我在本地运行相同的代码时,它可以正常工作。