Thema Datum  Von Nutzer Rating
Antwort
15.01.2019 12:54:23 Rainer
NotSolved
16.01.2019 13:24:25 Rainer
NotSolved
16.01.2019 18:38:09 Flotter Feger
NotSolved
18.01.2019 11:26:19 Zwenn
NotSolved
17.01.2019 09:43:52 Gast68380
NotSolved
17.01.2019 15:18:37 Gast2878
NotSolved
17.01.2019 15:50:58 Gast89835
NotSolved
17.01.2019 19:20:49 Flotter Feger
NotSolved
17.01.2019 23:57:37 Gast63319
NotSolved
Blau Webseite als Text
18.01.2019 12:01:13 Gast99004
NotSolved

Ansicht des Beitrags:
Von:
Gast99004
Datum:
18.01.2019 12:01:13
Views:
573
Rating: Antwort:
  Ja
Thema:
Webseite als Text

Hallo Rainer oder Sandra oder wer auch immer,

ich fürchte Du stellst Dir das etwas einfach vor und das Ergebnis des kleinen angepassten Makros unten wird auch nicht liefern was Du Dir denkst. Es nimmt den gesamten Text aus dem Body-Tag und schreibt ihn in eine Textdatei. Den Pfad musst Du für Dich anpassen, wenn Du es ausprobierst. Wenn Du in den Text guckst, wirst Du zwar den gesamten sichtbaren Text der Seite finden, aber z.B. auch sämtliche HTML Kommentare, die Du mit Sicherheit nicht willst. Darüber hinaus wird der Text einfach so übernommen, wie er in den Tags steht. Ist Text mittendrin durch zwei Tags getrennt, wird er durch das Makro unter Umständen direkt ohne Leerzeichen oder nicht in Tabellenform zusammengeklatscht.

Das liegt daran, dass man das Auslesen von Informationen aus Internetseiten nicht über die Inhalte steuert, sondern über die Struktur. Diese ist festgelegt über HTML-Tags und CSS-Klassen. Das bedeutet, um geziekt Informationen auszulesen, die man auch wirklich will und sie so abzuspeichern, dass sich damit auch etwas anfangen lässt, muss man auf die Einzelteile der Seite zugreifen. Für sehr strukturierte Daten, wie z.B. Tabellen, kann man das über PowerQuery ganz ohne VBA machen (da bin ich kein Experte für). Für Informationen, die über die Seite verstreut ist oder eine unregelmäßige Struktur aufweist, verwendet man das DOM (Docuemnt Object Model).

Mehr will ich an dieser Stelle eigentlich gar nicht dazu sagen, zumal ich davon ausgehe, dass die URL, die Du ins Makro geschrieben hast nicht die ist, die Du wirklich auslesen willst. Ich bin ansonsten nur im Herber Forum aktiv und habe da auch schon einiges zum DOM erklärt. Aber Du kannst auch einfach googeln, um Dich mit den Möglichkeiten vertraut zu machen.

Sub TextAusInternetSeiteSpeichern()
  Dim IEApp As Object
  Dim sTxt As String
  
  'Instanz des Internet Explorer initialisieren, sichtbarkeit festlegen,
  'URL aufrufen und warten bis sie vollständig geladen wurde
  Set IEApp = CreateObject("InternetExplorer.Application")
  IEApp.Visible = True
  IEApp.Navigate "http://www.office-loesung.de/ftopic343448_0_0_asc.php"
  Do: Loop Until IEApp.Busy = False
  
  'Text innerhalb des Body-Tags in eine String-Variable schreiben
  sTxt = IEApp.Document.getElementsByTagName("Body")(0).innertext
  
  'Inhalt der String-Variable in der Datei 'Test.txt' im Root Verzeichnis von D: speichern
  Close
  Open "D:\Test.txt" For Output As #1 '<-- Pfad Anpassen
  Print #1, sTxt
  Close
  
  'Aufräumen
  IEApp.Quit
  Set IEApp = Nothing
End Sub

Noch eine Anmerkung zur Methode ExecWB 4, 1. Dieser Befehl weist den IE an die Seite zu speichern. Selbst wenn das klappt, wobei ich Sendkeys nur in Notfällen einsetzen würde, passiert das jedoch als HTML Datei plus der zugehörigen Bilder und JavaScripte in einem extra Verzeichnis. Damit erreichst Du also nicht mal Ansatzweise was Du möchtest.

Viele Grüße,

Zwenn


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
15.01.2019 12:54:23 Rainer
NotSolved
16.01.2019 13:24:25 Rainer
NotSolved
16.01.2019 18:38:09 Flotter Feger
NotSolved
18.01.2019 11:26:19 Zwenn
NotSolved
17.01.2019 09:43:52 Gast68380
NotSolved
17.01.2019 15:18:37 Gast2878
NotSolved
17.01.2019 15:50:58 Gast89835
NotSolved
17.01.2019 19:20:49 Flotter Feger
NotSolved
17.01.2019 23:57:37 Gast63319
NotSolved
Blau Webseite als Text
18.01.2019 12:01:13 Gast99004
NotSolved