Announcement

Collapse
No announcement yet.

Problem beim Importieren von Website Daten mittels QueryTable

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem beim Importieren von Website Daten mittels QueryTable

    Hallo!

    Ich versuche Daten von einer Website in Excel zu importieren. Tatsächlich handelt es sich um dynamisch aufgebaute Seiten die alle sehr ähnlich aufgebaut sind, und so brauche ich immer dieselben Tabellen dieser Seite:

    Code:
    Sub M1
    i=1
    While (i < 10)
            indexVal = Cells(i, 1).Value
            
            Call DeleteQueryTables
    
            Set qt = ActiveSheet.QueryTables.Add(Connection:="URL;https://www.testseite.de?val=" & indexVal & "", Destination:=Range("J1"))
    
            With qt
                .Name = "Test" & i
                .FieldNames = True
                .RowNumbers = False
                .FillAdjacentFormulas = False
                .PreserveFormatting = True
                .RefreshOnFileOpen = False
                .BackgroundQuery = True
                .TablesOnlyFromHTML = True
                .RefreshStyle = xlOverwriteCells
                .SavePassword = False
                .SaveData = True
                .AdjustColumnWidth = True
                .RefreshPeriod = 0
                .WebSelectionType = xlEntirePage
                .WebSelectionType = xlSpecifiedTables
                .WebTables = "2,3"
                .WebFormatting = xlWebFormattingNone
                .WebPreFormattedTextToColumns = True
                .WebConsecutiveDelimitersAsOne = True
                .WebSingleBlockTextImport = False
                .WebDisableDateRecognition = False
                .WebDisableRedirections = False
                .Refresh BackgroundQuery:=False
    
            End With
    
            i = i + 1
    
        Wend
    End Sub
    
    Sub DeleteQueryTables()
        For Each qt In ActiveSheet.QueryTables
            qt.Delete
        Next
    End Sub
    Das Ganze klappt manchmal einige Male am Stück, manchmal wird aber auch schon beim zweiten mal eine Fehlermeldung ausgegeben:

    Laufzeitfehler 1004: Auf die Datei konnte nicht zugegriffen werden.

    Das seltsame dabei ist: Erfolgreich durchgeführte Abfragen klappen beim Versuch danach immer. Ich habe den Eindruck, dass VBA gar nicht so richtig abwartet bis die Webseite abgerufen wird. Es kommt mir so vor als würde Excel bei jedem erneutem Aufruf des Makros ein paar Seiten mehr laden.

    Habe echt ewig rumgetan an dem Problem. Wüsste jemand einen Rat?

    Vielen Dank!

  • #2
    Folgendes noch - damit die Verwirrung komplett ist:
    Das Makro funzt unter Excel 2003 einwandfrei... nur eben unter Excel 2007 nicht. Ich hoffe das wird kein "Leb damit" - Thread.

    Comment


    • #3
      Hi,

      lasse das Makro doch einmal im Einzelschrittmodus ablaufen. Das hilft oft, neue Erkenntnisse zu gewinnen.

      Gruß
      docendo discimus

      Comment


      • #4
        Hi!

        Im Einzelschritt Modus klappt das ebenfalls manchmal nicht.
        Eins habe ich doch noch herausgefunden:
        Das Problem liegt wohl weniger an der Office Version (2007 vs. 2003), sondern mehr am Betriebssystem.

        Folgende Kombinationen haben funktioniert:

        Windows XP + Office 2003
        Windows Server 2003 + Office 2007

        Mit Vista klappt es nicht. Sehr sonderbar...

        Comment


        • #5
          Ok... Das Problem scheint nicht sonderlich trivial zu sein.Habe es nun doch nicht mit Querytables sondern mit der C# Webclient Klasse gelöst.

          Viele Grüße.

          Comment

          Working...
          X