0
我是新来的VBA!我试图自动化一个特定的过程,即“复制Excel表格中的客户详细信息,打开IE并转到特定的URL,然后粘贴信息并单击”搜索“按钮并进入客户记录”我已成功完成但它在多个窗口中打开,因为我必须为许多客户执行此操作,这不是很好,所以我在线搜索并在IE的同一窗口中成功打开了多个TABS中的客户记录页面。无法输入文本中,即多个标签使用VBA
现在真正的问题是我无法单独输入客户在每个窗口的信息,它只是进入细节非常“第一窗口”,并搜索其
下面是我使用的代码:
Set IE = CreateObject("InternetExplorer.application")
IE.Visible = True
IE.Navigate ThisWorkbook.Sheets("Sheet4").Range("Link")
Do
If IE.ReadyState = 4 Then
Exit Do
Else
DoEvents
End If
Loop
On Error Resume Next
IE.document.all("admin_name").Value = ThisWorkbook.Sheets("Sheet4").Range("User")
IE.document.all("admin_pass").Value = ThisWorkbook.Sheets("Sheet4").Range("Pass")
Set ElementCol = IE.document.getElementsByTagName("button")
For Each link In ElementCol
If link.innerHTML = "LOGIN" Then
link.Click
Exit For
End If
Next
Application.Wait (Now + TimeValue("0:00:04")) ' Utill this line the IE opens the URL (and it is password protected)
' From here on the code opens the customer's records page
x = Range("J1").CurrentRegion.Rows.Count
Y = x - 1
For i = 1 To Y
ActiveCell.Offset(1, -1).Select
Dim navi As String
navi = "Sample URL"
IE.Navigate navi, CLng(2048) ' This is code which i used to open webpages in multiple TABS
Application.Wait (Now + TimeValue("0:00:04"))
Dim Firstname As Variant
Firstname = ActiveCell.Value
IE.document.getelementsbyname("cc_first_six").Item.innertext = Firstname
ActiveCell.Offset(0, 1).Select
Dim Lastname As Variant
Lastname = ActiveCell.Value
IE.document.getelementsbyname("cc_last_four").Item.innertext = Lastname
Set ElementCol = IE.document.getElementsByTagName("a")
For Each link In ElementCol
If link.innerHTML = "Show Results" Then
link.Click
End If
Next
Next i
末次
代码运行正常,但它仅使用第一个选项卡并搜索所有的客户,我想要做的是,它应该使用第二个选项卡以客为先在Excel中文件和第二个第三个选项卡客户在Excel文件等等......(我能完成我的需要,如果我使用多个窗口的选择,但我想这样做在同一个窗口,但多个标签)
感谢您的答复!然而,在正是我应该将上面的代码线 – David
的SendKeys用于发送键盘按下的按钮等“^ {TAB}”被用于发送对CTRL + TAB键组合快捷键。你必须检查哪个组合键适合你。我会建议你使用其他方法,而不是使用多个选项卡,因为我找不到任何合适的解决方案在不同的选项卡之间移动。 –
我使用多个Tabs的原因是因为在运行代码后,我手动复制了一些信息并将其粘贴到Excel中! :-( – David