Проблема с использованием ShellWindows для поиска открытого окна IE - PullRequest
0 голосов
/ 04 мая 2018

У меня проблема с тем, что этот процесс периодически перестанет быть в состоянии найти открытое окно IE. Как вы можете видеть, я отлаживаю URL каждого открытого окна, поэтому легко увидеть, когда окно просто не включено в список объектов, через которые оно проходит. Закрытие Excel и повторное его открытие, похоже, решают проблему, но я не могу найти причину. Есть идеи? Или, альтернативно, есть ли другой процесс, который я мог бы использовать, чтобы установить существующий объект IE по имени или URL?

Public Function GetWindow(name As String)

    Dim ie As InternetExplorer
    Dim l As Integer
    Dim TestStr As String
    Dim ShellW As ShellWindows

    Set ShellW = New ShellWindows
    On Error Resume Next
    If ShellW.Count > 0 Then
        For l = 0 To ShellW.Count - 1
            TestStr = ""
            TestStr = ShellW(l).LocationURL
            If TestStr <> "" Then
                Debug.Print TestStr
            End If
            If InStr(TestStr, name) > 0 Then
                If ShellW(l).Visible = True Then
                    If ie Is Nothing Then Set ie = ShellW(l): Exit For
                End If
            End If
        Next l
    End If
    Set GetWindow = ie

End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...