Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1216to1220
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Webabfrage - Timeout

Webabfrage - Timeout
Peter
Ich verwende die Webfrage bei Excel, um Daten von Webseiten einzulesen.
Ein verkürztes Programm sieht z.B. wie folgt aus.
With Worksheets("x").Range("A1").QueryTable
'diverse Einstellungen weggelassen
.Refresh BackgroundQuery:=False
End With
Nun bleibt mein Programm bei ".Refresh BackgroundQuery:=False" hängen.
Gibt es eine Möglichkeit, wie man das Hängenbleiben bei "Refresh" mittels Timeout abbrechen kann?
Danke im Voraus.
Grüße
Peter

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Webabfrage - Timeout
11.06.2011 15:25:20
Nepumuk
Hallo,
warum setzt du die BackgroundQuery-Eigenschaft nicht auf True und überwachst den Status der Aktualisierung über die Refreshing-Eigenschaft?
Gruß
Nepumuk
AW: Webabfrage - Timeout
11.06.2011 17:11:31
Peter
Hallo Nepomuk,
Besten Dank für den guten Tipp.
Leider finde ich beim Googeln keine Befehl für die Überwachung des Status des Refresh.
Bitte sende ich dazu ein Beispiel.
Grüße
Peter
AW: Webabfrage - Timeout
11.06.2011 22:06:42
Nepumuk
Hallo,
ich finde keine Seite die "hängenbleibt". Versuch es mal so:
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Private Declare Function KillTimer Lib "user32.dll" ( _
    ByVal hWnd As Long, _
    ByVal nIDEvent As Long) As Long
Private Declare Function SetTimer Lib "user32.dll" ( _
    ByVal hWnd As Long, _
    ByVal nIDEvent As Long, _
    ByVal uElapse As Long, _
    ByVal lpTimerFunc As Long) As Long

Public Sub Start_It()
    Call SetTimer(Application.hWnd, 0, 10000, AddressOf Stop_It) '10 Sekunden
    Tabelle1.QueryTables(1).Refresh BackgroundQuery:=True
    ThisWorkbook.RefreshAll
End Sub

Public Sub Stop_It()
    Call KillTimer(Application.hWnd, 0)
    With Tabelle1.QueryTables(1)
        If .Refreshing Then
            .CancelRefresh
            MsgBox "Refresh canceled"
        Else
            MsgBox "Refresh done"
        End If
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: Webabfrage - Timeout
13.06.2011 10:09:19
Peter
Hallo Nepomuk,
Danke für das Programm. Bitte erkläre mir kurz wie das Programm funktioniert.
In meinem Hauptprgramm muss ich die sub Start_IT aufrufen und die greift dann nach 10 Sekunden auf Stop_IT auf. Ist das richtig?
Besten Dank im Voraus.
Grüße
Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige