Microsoft Excel

Herbers Excel/VBA-Archiv

QueryTables auf passwortgeschützter Homepage

Betrifft: QueryTables auf passwortgeschützter Homepage von: Martin/FRA
Geschrieben am: 22.09.2014 23:22:27

Hallo Excel-VBA Wissende,

ich versuche mit QueryTables Daten von einer Homepage zu extrahieren. Sie sind dort auf ca. 490 Seiten (monatlich wachsend) verteilt, aber durchnummeriert. Das erlaubt den Einsatz einer Schleife.
Die Seite ist Passwortgeschützt. Ich log mich ein, hangel mich zum ersten Datensatz durch und lass das Makro laufen. Die Seiten mit den gesuchten Daten werden nacheinander angezeigt. Aber QueryTAbles liest nichts aus, bzw. kopiert mir nichts in die Zellen. So wie es bei der Erstellung des Makros mit dem Makrorekorder für den ersten Datensatz einwandfrei funktionierte. Bei der Erstellung musste ich mich auch erst einloggen und durchhangeln, um die richtige Tabelle markieren zu können.
Aktualisiere ich die Daten auf dem Tabellenblatt manuell, können die Daten nicht aktualisiert werden.
Gehe ich auf "Abfrage bearbeiten" erscheint nur die URL der Login-Seite (https://webgate.ec.europa.eu/ksda/login.htm), auf der sich natürlich keine Daten befinden.
Das Blatt lösche ich vor jedem Durchlauf von allen Verbindungen.
Wie komme ich nun an meine Daten heran? Außer den Quellcode einzulesen und mühselig zu extrahieren.

Sub Auswertung()

Set Ie = CreateObject("InternetExplorer.Application")
Ie.Visible = True
Reihe = 1

For z = 1 To 2 'eigentlich 490
adresse = "https://webgate.ec.europa.eu/ksda/validationListDisplay.htm?d-5394113-p=" & z & "& _
addrline1=&addrline2=&identNum=&addrline3=&subModuleId=vkc&name=*&postCode=&town=&alterName=& _
msId=DE"
  Ie.navigate adresse  ' Klappt einwandfrei, ich sehe die Daten die ich kopieren will

  Reihe = Reihe + 7
  Sleep 300
  Do: Loop Until Ie.Busy = False
  With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;https://webgate.ec.europa.eu/ksda/validationListDisplay.htm?d-5394113-p=" & z & "&  _
_
addrline1=&addrline2=&identNum=&addrline3=&subModuleId=vkc&name=*&postCode=&town=&alterName=& _
msId=DE" _
        , Destination:=Worksheets("Auswertung").Range("A" & Reihe))
        .Name = "validationListDisplay.htm?d-5394113-p=" & z & "&addrline1=&addrline2=&identNum= _
 _
&addrline3=&subModuleId=vkc&name=*&postCode=&town=&alterName=&msId=DE"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = """currentRowObject"""
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
 End With

Next z
End Sub

Ich hoffe jemand kennt sich mit diesem sehr speziellen Problem aus und kann mir helfen.

Gruß Martin

  

Betrifft: AW: QueryTables auf passwortgeschützter Homepage von: Luschi
Geschrieben am: 23.09.2014 07:35:10

Hallo Martin,

hier mal Teil 1: IE-Anmeldung.

https://www.herber.de/bbs/user/92758.xlsm

Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: QueryTables auf passwortgeschützter Homepage von: Martin/FRA
Geschrieben am: 24.09.2014 00:41:52

Hallo Luschi,

danke für das Modul zum Einloggen, es funktioniert (nachdem ich den Anfang etwas gekürzt habe) ganz gut.
Aber leider brauche ich dringend noch jemanden der sich des QueryTables Problems annimmt.

Gruß
Martin


  

Betrifft: AW: QueryTables auf passwortgeschützter Homepage von: Luschi
Geschrieben am: 24.09.2014 06:22:43

Hallo Martin,

nun, der weitere Fortgang zum Auslesen der Daten wird natürlich ohne Zugriff auf die INet-Seite selbst durch den Außenstehenden (wie mich) doch sehr kompliziert.
Vor ca. einem ½ Jahr habe ich 1em Forumsteilnehmer nur dadurch helfen können, in dem er mir einen zeitlich begrenzten Testzugang einrichtete, mit dem man das durchtesten konnte & die Aufgabe war in wenigen Stunden gelöst.
Für mich stellt sich als 1. die Frage, wo kommen die Werte her, die in der von Dir geposteten _ INet-Adresse mit dem '&' oder '*' benannt sind:

"&addrline1=&addrline2=&identNum=&addrline3=&subModuleId=vkc&name=*&postCode=&town=&alterName=&msId=DE"
Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: QueryTables auf passwortgeschützter Homepage von: Martin/FRA
Geschrieben am: 25.09.2014 23:19:08

Hallo Luschi,

einen Testzugang wird dir das Luftfahrtbundesamt für diese sicherheitsrelevante Seite leider erst nach Einsendung eines polizeilichen Führungszeugnisses und einer Luftfahrtsicherheitsschulung geben. Diese Option haben wir also leider nicht.

Die Werte hat Excel automatisch bei der Erstellung des QueryTables erstellt. Hier der Anfang der Tabelle, den ich aus dem Quellcode der Seite kopiert habe die ich auslesen will:

<table id="currentRowObject" align="center" background="#074a8b" width="90%" cellpadding="4" class="displayTable" border="1" cellspacing="0">
<thead>
<tr>
<th class="displayTh" width="12%" align="center">Name</th>
<th class="displayTh" width="10%" align="center">Alternativname</th>
<th class="displayTh" width="16%" align="center">Anschrift</th>
<th class="displayTh" width="10%" align="center">Ort</th>
<th class="displayTh" width="12%" align="center">Mitgliedstaat</th>
<th class="displayTh" width="10%" align="center">Postleitzahl</th>
<th class="displayTh" width="10%" align="center">Status</th>
<th class="displayTh" align="center">Registriernummer</th></tr></thead>
<tbody>
<tr class="odd">
<td class="displayTd" width="12%" align="center">Streng Geheim GmbH</td>
<td class="displayTd" width="10%" align="center"> </td>
<td class="displayTd" width="16%" align="center">Hauptstr. 42 </td>
<td class="displayTd" width="10%" align="center">Berlin</td>
<td class="displayTd" width="12%" align="center">Germany</td>
<td class="displayTd" width="10%" align="center">10178</td>
<td class="displayTd" width="10%" align="center">Test</td>
<td class="displayTd" align="center">

<a class="fontSize2_site_center"
title="Click Registration Number to select"
href="https://webgate.ec.europa.eu/ksda/validationMultipleResult.htm?detail=true&identNumber=DE/KC/99999-01/0117&subModuleID=vkc&form=false">
DE/KC/99999-01/0117</a>

Dann noch vier Adressen und darunter steht:

</td></tr></tbody></table><span class="pagebanner"> 1,000 items found, displaying 1 to 5. </span> <span class="pagelinks">[First/Prev] <strong>1</strong>, <a href="https://webgate.ec.europa.eu/ksda/validationListDisplay.htm?d-5394113-p=2&addrline1=&addrline2=&identNum=&addrline3=&subModuleId=vkc&name=*&postCode=&town=&alterName=&msId=DE" title="Go to page 2">2</a>, <a href="https://webgate.ec.europa.eu/ksda/validationListDisplay.htm?d-5394113-p=3&addrline1=&addrline2=&identNum=&addrline3=&subModuleId=vkc&name=*&postCode=&town=&alterName=&msId=DE" title="Go to page 3">3</a>, <a


Gruß
Martin


  

Betrifft: AW: QueryTables auf passwortgeschützter Homepage von: Luschi
Geschrieben am: 26.09.2014 14:04:52

Hallo Martin,

bin z.Z. untererwegs und nur selten Online. Ab kommenden Dienstag werde ich mal stark nachdenken.

Gruß von Luschi
aus klein-Paris


 

Beiträge aus den Excel-Beispielen zum Thema "QueryTables auf passwortgeschützter Homepage"