VBA中的Internet Explorer子窗口

时间:2014-03-19 15:20:11

标签: vba childwindow

我有一个VBA代码,用于单击IE页面上的链接并打开一个新窗口。如何获取该子窗口的元素?

我尝试使用Shell.application。还有其他方法吗?

Set objShell = CreateObject("shell.application")
IEcount= objShell.Windows.Count
 For x = 0 To iecount
    On Error Resume Next
    Debug.Print x, objShell.Windows(x).document.Location
 Next x

我获得了窗口编号及其URL,但无法访问页面上的元素。

1 个答案:

答案 0 :(得分:2)

查看我在代码中插入的“if-then”语句。您可以使用标题或网址来标识孩子并将注意力集中在孩子身上。一旦它具有焦点,您就可以获得子窗口的元素。

Set objShell = CreateObject("Shell.Application")
IE_count = objShell.Windows.Count
For x = 0 To (IE_count - 1)
    On Error Resume Next    ' sometimes more web pages are counted than are open
    my_url = objShell.Windows(x).Document.Location
    my_title = objShell.Windows(x).Document.Title

    If my_title Like "Something that identifies your child window" Then
        Set ie = objShell.Windows(x)
        Exit For
    Else
    End If
Next