Подождите, пока не появится панель загрузки, прежде чем продолжить код - PullRequest
1 голос
/ 01 декабря 2019

Я пытаюсь автоматизировать загрузку данных с веб-сайта. В настоящее время я пытаюсь дождаться появления всплывающего окна загрузки, показанного ниже, прежде чем нажать alt + S: DownloadPopup Как только это будет сделано, я хочу, чтобы vba дождался появления всплывающего окна завершения загрузки, прежде чем продолжитьпроцесс DownloadCompletePopup

До сих пор я пробовал приведенный ниже код, чтобы попытаться определить и дождаться загрузки панели, однако и FindInitDownloadPopup () и FindDownloadPopup2 () не выходят из цикладаже когда появляется панель загрузки. Я просмотрел другие подобные посты, однако ни одно из предложенных решений не помогло мне

Option Explicit

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, 
ByVal lpWindowName As String) As Long

Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" _
(ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, _
ByVal lpsz2 As String) As Long

Sub FindInitDownloadPopup()
Dim ie As InternetExplorer
Dim h As Long
h = ie.hWnd
h = FindWindowEx(h, 0, "Frame Notification Bar", vbNullString)

If h = 0 Then
    Do While h = 0
        Application.Wait (Now + TimeValue("00:00:02"))
        h = FindWindowEx(h, 0, "Frame Notification Bar", vbNullString)
    Loop
Else
End If
End Sub

Sub FindDownloadPopup2()
Dim hWnd As Long
Do
    hWnd = FindWindow("#32770", "File Download")
    DoEvents
Loop Until hWnd
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...