Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1368to1372
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

Internet seite per excel steuern - select

Internet seite per excel steuern - select
13.07.2014 17:24:54
Peter
Hallo
habe eine Webseite die ich steuern möchte per Excel.
beim der Webseite gibt es ein Eingabe Fenster (Suche) in dem ich mit diesem Code Werte per Excel eintragen kann:
VBA (Teil-)code:
......
Set ie = CreateObject("InternetExplorer.Application")
With ie
.Visible = True
.navigate "http://....."
Do Until .ReadyState = 4
DoEvents
Loop
Application.Wait Now + TimeSerial(0, 0, 1) 'wait 1 sec
For i = 0 To 1 'go through every row of the table
Set dmt = .document
dmt.all("Suchwort").Value = "123WERT456"
......
der html code zeigt zu diesem Eingabe Feld folgendes:
(Zeichen"" durch "}", sonst wird im Explorer die geschriebene Funktion übersetzt und des Feld angezeigt, weis nicht wie man hier nur den code anzeigen kann...)
......
{td align="left"}
EINGABE:
{input type="text" style="width: 350px;" value="" name="keyword"}
{/td}
......
das sieht dann so aus:

EINGABE:


Der VBA Code funktioniert - es wird damit der Wert "123WERT456" eingetragen.
nach Bestätigung der Eingabe (Enter)
wird auf der Webseite ein Suchergebnis angezeigt.
Das zum Backup, nun zu meinen 2 Fragen:
1.
Im Suchergebnis gibt es unten ein Auswahlfeld in denen die Anzahl der angezeigten Einträge Ansichten ausgewählt werden können. (5, 10 oder 30)
Als default ist immer "5" gesetzt. Ich möchte aber "30" per VBA setzen.
Dies gelingt mir einfach nicht.
2.
Das Suchergebnis hat mehrere Seiten (so wie z.b. bei google)
ich möchte die einzelnen Seiten per VBA steuern, das bekomme ich auch nicht hin.
der html code zeigt zu diesem Feld folgendes:
{li}{table class="gridToolbar" width="100%" border="0" cellspacing="0"}
{tbody}
{tr}
{td}
{div class="box"}
{div class="leftControls"} {/div}
{div class="paginationControls"}
{span class="buttonLabel"}1 - 5 of 543{/span}
{img style="border:0" src="/webd/images/firstPageDisabled.gif"}
{img style="border:0" src="/webd/images/prevPageDisabled.gif"}
[1]
{a href="javascript:simpleTable.togglePage(2);"}[2]{/a}
{a href="javascript:simpleTable.togglePage(3);"}[3]{/a}
{a href="javascript:simpleTable.togglePage(4);"}[4]{/a}
{a href="javascript:simpleTable.togglePage(5);"}[5]{/a}
{a href="javascript:simpleTable.togglePage(2);"}
{a href="javascript:simpleTable.togglePage(39);"}
{select onchange="simpleTable.togglePageSize(this.value)"}
{option selected="" value="5"}5{/option}
{option value="10"}10{/option}
{option value="30"}30{/option}
{/select}
{/div}
{div} {/div}
{/div}
{/td}
{/tr}
{/tbody}
{/table}{/li}
.....
das sieht dann ungefähr so aus (dann nur in einer Zeile anstatt untereinander):










  • 1 - 5 of 543
    [1]
    [2]
    [3]
    [4]
    [5]







  • ........
    Könnt ihr da helfen?

    6
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Internet seite per excel steuern - select
    13.07.2014 18:38:34
    Michael
    Hallo Peter,
    vom Fleck weg eher nicht, aber das Thema ist interessant.
    Ist es für Dich ein Aufwand, das Skript handlich zu verpacken und zu neutralisieren (etwa mit einer google-Abfrage), und die Datei raufzuladen, so daß man konkret damit herumtesten kann?
    Schöne Grüße,
    Michael

    AW: Internet seite per excel steuern - select
    14.07.2014 08:51:27
    Martin
    Hallo Peter,
    das das Auswahlfeld keinen Namen und keine ID besitzt, musst du alle Felder nach ihrem Typ abfragen, bis das Select-Feld gefunden ist. Falls es mehrere Select-Felder gibt, kannst zusätzlich abfragen, ob der Wert "5" ist. Anschließend kannst du den Wert bequem ändern:
        'Alle Formularfelder auslesen
    Dim frm As Object, ele As Object
    For Each frm In appIE.document.forms
    For Each ele In frm.elements
    With ele
    Debug.Print "Name=" & .Name & ", Type=" & .Type & ", Value=" & .Value
    End With
    Next ele
    Next frm
    
    Ebenso verhält es sich mit den Links:
    Sub LinksAuslesen()
    Dim link As Object
    With CreateObject("InternetExplorer.Application")
    Do While .Busy 'Warten bis IE komplett geladen
    Loop
    .Visible = True
    .navigate "http://....."
    Do: Loop Until .readyState = 4
    For Each link In .document.Links
    Debug.Print link.innerText & " - " & link.HRef
    Next
    '.Quit
    End With
    End Sub
    Next
    
    Die Links sind bestimmt in einer bestimmten Tabelle oder einem spezellen DIV-Container. Ich würde nur die darin enthaltenen Links per Schleife durchgehen.
    Viele Grüße
    Martin

    Anzeige
    AW: Internet seite per excel steuern - select
    14.07.2014 10:25:00
    Peter
    Hallo Michael,
    leider ist es mir nicht möglich die Webseite zu kürzen und als Datei hier hochzuladen. Weis einfach wirklich nicht wie das geht... :-(
    Hallo Martin,
    danke für den input werde ich ausprobieren.
    Ja leider haben diese Felder keinen Namen.
    Ich schau dass ich es heute abend machen kann und gebe dann ein feedback.
    Nur so am Rande:
    wie bekommst Du hier den code so schon übersichtlich rein? bei mir wird alles linksbündig umgesetzt egal ob ich einen Tab habe oder nicht.
    Ich denke ich brauch vielleicht so einen html code? ""
    Gruß Peter

    AW: Internet seite per excel steuern - select
    14.07.2014 13:19:21
    Martin
    Hallo Peter,
    beim Posten deines VBA-Codes musst du auf den Button "Code " über dem Eingabefeld klicken und dein Makro zwischen dem und dem einfügen:
    Userbild
    Das geht aber nur bei VBA-Code, nicht bei HTML-Code.
    Viele Grüße
    Martin

    Anzeige
    AW: Internet seite per excel steuern - select
    14.07.2014 15:33:42
    Michael
    Hallo Peter,
    da haben wir uns mißverstanden. Ich meine natürlich Deine Excel-Datei.
    Gruß,
    Michael

    AW: Internet seite per excel steuern - select
    14.07.2014 15:44:06
    Peter
    Hallo Martin,
    also hab es ausprobiert:
    zu 1. Select-Feld:
    interessant, es wird nur ausgelesen:
    "
    Name=keyword, Type=text, Value=123WERT456
    Name=, Type=submit, Value=?
    "
    mehr nicht! Keine 5, 10 oder 30 Werte.
    Das Ding: "Name=, Type=submit, Value=?"
    scheint der Absendebutton neben dem Eingabefeld zu sein.
    zu 2. links:
    "
    [2] - javascript:simpleTable.togglePage(2);
    [3] - javascript:simpleTable.togglePage(3);
    [4] - javascript:simpleTable.togglePage(4);
    [5] - javascript:simpleTable.togglePage(5);
    - javascript:simpleTable.togglePage(2);
    - javascript:simpleTable.togglePage(39);
    "
    Mehr hier auch nicht.
    Gibt es vielleicht eine Möglichkeit wenigstens diese Seiten anzusprechen?
    zB. so was wie:
    ....simpleTable.togglePage(4).Click ? :-)
    Gruß Peter
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige