1

问题是这一行:

Set TrackID2 = oIE.document.getelementbyid("main-search-box")

基本上,我需要 VBA 来打开一个站点的两个实例(在 2 个选项卡中),找到搜索框并输入并提交一个字符串。

我打开了选项卡,但我找不到 VBA 将正确的字符串输入到 IE 实例中的第二个选项卡的方法。对,现在它打开了 2 个选项卡,但是将两个字符串都输入到第一个选项卡中并在那里搜索了两次,而第二个选项卡只打开了地址。

如何编辑代码以将 VBA 指向第二个选项卡,而不是第一个选项卡,就像现在一样?

提前谢谢你的帮助!

Sub TestIE() 

Dim IE As Object 
Dim TrackID As Object 
Dim TrackID2 As Object 
Dim address As String 

address = "https://www.google.com/" 

Const navOpenInNewTab = &H800 
Set oIE = CreateObject("InternetExplorer.Application") 
oIE.Visible = True 


oIE.Navigate address 
Do Until oIE.readystate = 4: 
    DoEvents: Loop 
    Set TrackID = oIE.document.getelementbyid("main-search-box") 
    TrackID.Value = ActiveSheet.Range("a1") 
    TrackID.form.submit 

    oIE.Navigate2 address, CLng(navOpenInNewTab) 
Do Until oIE.readystate = 4: 
        DoEvents: Loop 
        Set TrackID2 = oIE.document.getelementbyid("main-search-box") 
        TrackID2.Value = ActiveSheet.Range("A2") 
        TrackID.form.submit 

    End Sub 
4

1 回答 1

0

这是我决定做的,因为所有其他选择都超出了我的专业水平......

Sub testie2()


Dim oIE As Object
Dim oIE1 As Object
Dim oIE2 As Object
Dim oIE3 As Object
Dim oIE4 As Object
Dim oIE5 As Object
Dim oIE6 As Object
Dim oIE7 As Object
Dim oIE8 As Object
Dim oIE9 As Object

Dim TrackID As Object
Dim TrackID1 As Object
Dim TrackID2 As Object
Dim TrackID3 As Object
Dim TrackID4 As Object
Dim TrackID5 As Object
Dim TrackID6 As Object
Dim TrackID7 As Object
Dim TrackID8 As Object
Dim TrackID9 As Object

'----------------------------0---------------------------------------------
Set oIE = CreateObject("InternetExplorer.Application")
oIE.Navigate ("https://www.linkedin.com/")
oIE.Visible = True


Do Until oIE.ReadyState = 4:
DoEvents: Loop
Set TrackID = oIE.document.getelementbyid("main-search-box")
TrackID.Value = ActiveSheet.Range("A1")

TrackID.form.submit

'------------------------------1------------------------------------------

Set oIE1 = CreateObject("InternetExplorer.Application")
oIE1.Navigate ("https://www.linkedin.com/")
oIE1.Visible = True

Do Until oIE1.ReadyState = 4:
DoEvents: Loop
Set TrackID1 = oIE1.document.getelementbyid("main-search-box")
TrackID1.Value = ActiveSheet.Range("A2")

TrackID1.form.submit

'------------------------------2-------------------------------------------

Set oIE2 = CreateObject("InternetExplorer.Application")
oIE2.Navigate ("https://www.linkedin.com/")
oIE2.Visible = True

Do Until oIE2.ReadyState = 4:
DoEvents: Loop
Set TrackID2 = oIE2.document.getelementbyid("main-search-box")
TrackID2.Value = ActiveSheet.Range("A3")

TrackID2.form.submit

'------------------------------3-------------------------------------------

Set oIE3 = CreateObject("InternetExplorer.Application")
oIE3.Navigate ("https://www.linkedin.com/")
oIE3.Visible = True

Do Until oIE3.ReadyState = 4:
DoEvents: Loop
Set TrackID3 = oIE3.document.getelementbyid("main-search-box")
TrackID3.Value = ActiveSheet.Range("A4")

TrackID3.form.submit

'------------------------------4-------------------------------------------

Set oIE4 = CreateObject("InternetExplorer.Application")
oIE4.Navigate ("https://www.linkedin.com/")
oIE4.Visible = True

Do Until oIE4.ReadyState = 4:
DoEvents: Loop
Set TrackID4 = oIE4.document.getelementbyid("main-search-box")
TrackID4.Value = ActiveSheet.Range("A5")

TrackID4.form.submit

'------------------------------5-------------------------------------------

Set oIE5 = CreateObject("InternetExplorer.Application")
oIE5.Navigate ("https://www.linkedin.com/")
oIE5.Visible = True

Do Until oIE5.ReadyState = 4:
DoEvents: Loop
Set TrackID5 = oIE5.document.getelementbyid("main-search-box")
TrackID5.Value = ActiveSheet.Range("A6")

TrackID5.form.submit

'------------------------------6-------------------------------------------

Set oIE6 = CreateObject("InternetExplorer.Application")
oIE6.Navigate ("https://www.linkedin.com/")
oIE6.Visible = True

Do Until oIE6.ReadyState = 4:
DoEvents: Loop
Set TrackID6 = oIE6.document.getelementbyid("main-search-box")
TrackID6.Value = ActiveSheet.Range("A7")

TrackID6.form.submit

'------------------------------7-------------------------------------------

Set oIE7 = CreateObject("InternetExplorer.Application")
oIE7.Navigate ("https://www.linkedin.com/")
oIE7.Visible = True

Do Until oIE7.ReadyState = 4:
DoEvents: Loop
Set TrackID7 = oIE7.document.getelementbyid("main-search-box")
TrackID7.Value = ActiveSheet.Range("A8")

TrackID7.form.submit

'------------------------------8-------------------------------------------

Set oIE8 = CreateObject("InternetExplorer.Application")
oIE8.Navigate ("https://www.linkedin.com/")
oIE8.Visible = True

Do Until oIE8.ReadyState = 4:
DoEvents: Loop
Set TrackID8 = oIE8.document.getelementbyid("main-search-box")
TrackID8.Value = ActiveSheet.Range("A9")

TrackID8.form.submit

'------------------------------9-------------------------------------------

Set oIE9 = CreateObject("InternetExplorer.Application")
oIE9.Navigate ("https://www.linkedin.com/")
oIE9.Visible = True

Do Until oIE9.ReadyState = 4:
DoEvents: Loop
Set TrackID9 = oIE9.document.getelementbyid("main-search-box")
TrackID9.Value = ActiveSheet.Range("A10")

TrackID9.form.submit


End Sub

我知道它并不优雅,但大大减少了手动输入,并且肯定有助于这项工作,当然希望可以将所有这些都放入选项卡中。

于 2013-06-10T14:16:59.630 回答