Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1088to1092
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

Fehler beim Markieren der Internetseite???

Fehler beim Markieren der Internetseite?
Michael
Hallo!
Ich habe in A1 folgende Adresse "http://de.moneycentral.msn.com/investor/invsub/results/compare.asp?Page=TenYearSummary&Symbol=DE%3aEEX"
Wenn ich diese mit der unteren Makro aufrufe, kopiert er mir nur das Banner?
Warum markiert er nicht die ganze Seite?
Ich benötige die Daten nicht die komische Werbung?
Vielen Dank
Michael
  • Sub adsf()
    Dim Internet As Object
    Dim i As String
    Set Internet = CreateObject("InternetExplorer.Application")
    i = Tabelle1.Range("a1")
    Internet.Navigate [i]
    Do While Not Internet.ReadyState = 4
    DoEvents
    Loop
    Internet.Visible = True
    Internet.execwb 17, 0
    Internet.execwb 12, 0
    Internet.execwb 18, 0
    Do While Not Internet.ReadyState = 4
    DoEvents
    Loop
    Internet.Quit
    Set Internet = Nothing
    Tabelle3.Paste
    End Sub
    

    '_______

  • 5
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Benutzer
    Anzeige
    AW: Fehler beim Markieren der Internetseite?
    22.07.2009 18:25:41
    MichaV
    Hallo,
    bei mir markiert er das Eingabefeld. Warum nimmst Du nicht eine normale Webabfrage? Das würde sogar ohne Makro gehen.
    Gruss- Micha
    AW: Fehler beim Markieren der Internetseite?
    23.07.2009 07:43:12
    Michael
    Danke, das stimmt! Jedoch wollte ich dieses Makro weitererntwickeln! Es soll nachdem auf mehere Seiten zugreifen und die Auswertung mittels Excel ermitteln.
    Gruß Michael
    Inhalt von Web-Seite einlesen
    23.07.2009 11:35:41
    Web-Seite
    hallo Michael,
    hier ein Bsp, wie du den HTML text einlesen kannst.
    Gruß
    Christian
    
    Option Explicit
    Sub GetContent()
    Dim objBrowser As Object
    Dim objDoc As Object
    Dim strURL$, vTxt
    On Error GoTo ErrorHandler
    strURL = Tabelle1.Range("A1").Text
    Set objBrowser = CreateObject("InternetExplorer.Application")
    With objBrowser
    .Visible = False
    .Navigate strURL
    Do While objBrowser.Busy
    Loop
    Set objDoc = objBrowser.Document
    Do While objDoc.readyState  "complete"
    Loop
    vTxt = Split(objDoc.Body.InnerText, vbCrLf)
    .Quit
    End With
    Set objDoc = Nothing
    Set objBrowser = Nothing
    With Sheets("Tabelle3")
    .Cells.Delete
    .Cells(1, 1).Resize(UBound(vTxt) + 1).Value = Application.Transpose(vTxt)
    End With
    Exit Sub
    ErrorHandler:
    If Not objBrowser Is Nothing Then
    objBrowser.Quit
    Set objDoc = Nothing
    Set objBrowser = Nothing
    End If
    End Sub
    

    Anzeige
    AW: Inhalt von Web-Seite einlesen
    25.07.2009 11:06:13
    Web-Seite
    Einfach nur GEIL!!!! Danke!!!
    Nur zum Verständnis!
    .Navigate strURL ' Navigiert meine internetseite auf A1
    Do While objBrowser.Busy 'wartet bis er fertig ist mit laden
    Loop
    Set objDoc = objBrowser.Document ' OBJBrowser.document? alles ist ein Document oder
    vTxt = Split(objDoc.Body.InnerText, vbCrLf) ' splttet die Internetseite auf in Programm, Darstellung und Text
    .Cells(1, 1).Resize(UBound(vTxt) + 1).Value = Application.Transpose(vTxt) 'Resize(UBound(vTxt) Was macht der Befehl genau
    Vielen Dank hat mir sehr geholfen
    AW: Inhalt von Web-Seite einlesen
    26.07.2009 09:35:33
    Web-Seite
    Hallo,
    - der erste Loop wartet, bis die Adresse gefunden wird.
    - der zweite Loop wartet, bis die Seite vollständig geladen ist.
    - objDoc ist ein Objekt mit allen Attributen der HTML Seite (zB auch der HTML-Text, Bilder, Javascript, etc.) Für uns interessant ist der HTML-Body und davon der InnerText. Das ist jener Text, den in du im Browser siehst.
    - split schreibt diesen Text in das Array vTxt (getrennt am Zeilenumbruch).
    - anchließend schreibst du das Array nach Tabelle3 in den Bereich "Cells(1, 1).Resize(UBound(vTxt) + 1)". UBound ist die Obergrenze des Array's. "Resize" ist eleganter und etwas schneller als ein zusammengesetzter String wie zB: ("A1:A" & UBound(vTxt) + 1)".
    alles klar?
    Gruß
    Christian
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige