Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
352to356
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
352to356
352to356
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

verzw. bald - internet-quellcode in excel importie

verzw. bald - internet-quellcode in excel importie
22.12.2003 19:00:57
Heidi
Guten abend Forum,

durch einen Tip bin ich auf folgenden Code hier aus dem archiv aufmerksam geworden:

Option Explicit
Sub Aufruf()
Call URL_Load("http://www.kicker.de")
End Sub



Private Sub URL_Load(ByVal sURL As String)
Dim appIE As Object
Dim sTxt As String
Set appIE = CreateObject("InternetExplorer.Application")
appIE.navigate sURL
Do: Loop Until appIE.Busy = False
Do: Loop Until appIE.Busy = False
sTxt = appIE.document.documentElement.outerHTML
Set appIE = Nothing
Close
Open ThisWorkbook.Path & "\test.txt" For Output As #1
Print #1, sTxt
Close
MsgBox "Der Text wurde gespeichert unter:" & vbLf & _
ThisWorkbook.Path & "\test.txt"
End Sub


Nun meine Fragen:

Wie kann ich diesen Code in Excel importieren per Makro? (Ich bekomme beim Import immer eine Fehlermeldung)

Kann ich in diesem Makro gleich von vornherein einbauen, nur bestimmte Zeilen als Textdatei zu importieren, z.b. zeilen 20 - 25 und 30 - 35?

Ich suche nun schon zwei Tage im INternet und in allen möglichen Foren, finde aber nirgends etwas.

Meine VBA-Kenntnisse sind noch nicht so sehr gut, und so hab ich hier schon ein Problem.

Ich hab die Frage auch schon so ählich in einem anderen Forum gestellt, aber leider erfolglos.

Für eventuelle ANtworten vielen Dank.

Mfg Heidi

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: verzw. bald - internet-quellcode in excel importie
22.12.2003 19:29:11
KViertel
Hallo Heidi,

der Import sollte ganz einfach gehen, indem du die beiden Subs markierst, in die Zwischablage kopierst und dann in das gewünschte Modul einfügst.
Zum zweiten Punkt kann ich nur vermuten dass du innerhalb einer Schleife sTxt auf Zeilenumbrüche untersuchen mußt.

MfG. Klaus
AW: verzw. bald - internet-quellcode in excel importie
22.12.2003 19:51:34
Heidi
Hallo Klaus,

zuerst einmal vielen Dank für Deine schnelle Antwort.

Mit dem importieren des Codes meinte ich wie ich die gespeicherte Textdatei (mit dem enthaltenen html-quellcode) in Excel importieren kann.

Sorry ich habe mich sehr ungenau ausgedrückt.

Mit Datei - Öffnen gehts nicht, weil da eine Fehlermeldung kommt über fehlende css-Dateien, der Import-Wizard öffnet sich nicht.
Und Excel versucht dann anschließend, die Datei wie eine Webseite darzustellen, also nicht mit dem enthaltenen Quelltext.

Und wenn ich jetzt nur einzelne Zeilen aus dem Webseitenquellcode in die Textdatei speichern würde, dann würde ich dieses Problem evtl. umgehen und zum anderen Zeit sparen. WIe würde der VBA-Befehl zum suchen nach Zeilenumbrüchen lauten?

Ich hoffe, das war jetzt einigermaßen verständlich und vielleicht hatte ja jemand schon mal dasselbe Problem.

DAnke und Mfg Heidi
Anzeige
AW: verzw. bald - internet-quellcode in excel importie
22.12.2003 20:38:48
KViertel
Hallo Heidi,

Mit deinem Problem bin ich leider etwas überfordert.
Schau doch mal im Archiv des Forums nach.
z.B. www.herber.de/forum/archiv/24to28/t24681.htm .
MfG. Klaus
AW: verzw. bald - internet-quellcode in excel importie
22.12.2003 20:43:54
KViertel
Hallo Heidi,

Mit deinem Problem bin ich leider etwas überfordert.
Schau doch mal im Archiv des Forums nach.
z.B. www.herber.de/forum/archiv/24to28/t24681.htm .
MfG. Klaus
AW: verzw. bald - internet-quellcode in excel importie
22.12.2003 21:28:39
Nepumuk
Hallo Heidi,
einzelne Zeilen herauszufiltern ist kein Problem. Aber was willst du mit dem HTML - Code anfangen? Wie z.B. Zeile 20 bis 25 von kicker.de

OAS_listpos = 'TopLeft,Top1,Left1,Left,Middle1,Middle2,Right,Right1,Position1,Position2,Position3,Top,x01,x02,x03,x04,x05,x06,x07,x08,x09,x10,TopRight,Middle';
OAS_query = '';
OAS_sitepage = 'www.kicker.de/homepage/center';
OAS_version = 10;
OAS_rn = '001234567890'; OAS_rns = '1234567890';
OAS_rn = new String (Math.random()); OAS_rns = OAS_rn.substring (2, 11);

Gruß
Nepumuk
Anzeige
AW: verzw. bald - internet-quellcode in excel importie
23.12.2003 13:48:10
Heidi
Hallo Nepomuk, Hallo Klaus,

danke für Eure Antworten.

@Klaus: im Archiv war ich zuvor schon, bin aber auch mit viel ausprobieren nicht recht weitergekommen.

@Nepomuk: Danke für Deinen Quellcode, da ich noch nicht so sehr weit in VBA bin, weiß ich nicht so recht wo ich diesen Code in meinem Quelltext unterbringen soll, alle probierten Varianten führten nicht zum Ziel.

www.kicker.de stand im Code-Beispiel vom Herber Archiv mit drin; ich möchte Seiten von Mineralölgesellschaften ansurfen, z.B. http://www.aral.de/tankstelle/_home/home_preise.cfm?tstnr_6=191060
und diese Daten dann auswerten, das ist alles.

kannst Du mir oder sonstjemand vielleicht nochmal einen Tip geben, wie ich den Code einpflastere, nur einzelne Zeilen auszulesen?

Danke und Mfg Heidi
Anzeige
AW: verzw. bald - internet-quellcode in excel importie
23.12.2003 13:57:41
Nepumuk
Hallo Heidi,
das war nicht der Code zum auslesen sondern die ausgelesenen Zeilen 20 bis 25 von Kicker.de. Der Code dazu sieh so aus:

Option Explicit
Public Sub Aufruf()
Call URL_Load("http://www.kicker.de")
End Sub
Private Sub URL_Load(ByVal sURL As String)
Dim appIE As Object, lfCount As Integer, txtSearch As Long
Dim sTxt As String, txtLine As String, txtbool As Boolean
Set appIE = CreateObject("InternetExplorer.Application")
appIE.navigate sURL
Do: Loop Until appIE.Busy = False
Do: Loop Until appIE.Busy = False
sTxt = appIE.document.documentElement.outerHTML
Set appIE = Nothing
Close
Open ThisWorkbook.Path & "\test.txt" For Output As #1
lfCount = 1
For txtSearch = 1 To Len(sTxt)
If txtbool Then
If Mid(sTxt, txtSearch, 1) = vbCr Then
Print #1, txtLine
txtLine = ""
txtbool = False
Else
txtLine = txtLine & Mid(sTxt, txtSearch, 1)
End If
Else
If Mid(sTxt, txtSearch, 1) = vbLf Then lfCount = lfCount + 1
Select Case lfCount
Case 20 To 25: txtbool = True 'Zeile 20 bis 25
End Select
End If
Next
Close
MsgBox "Der Text wurde gespeichert unter:" & vbLf & ThisWorkbook.Path & "\test.txt"
End Sub



Code eingefügt mit: Excel Code Jeanie

In diesem Beispiel werden die Zeilen 20 bis 25 in eine Textdatei gespeichert. Sie statt dessen in eine Mappe zu bringen, schaffst du sicher selbst.
Gruß
Nepumuk
Anzeige
Danke!!!!
23.12.2003 14:27:57
Heidi
Hallo Nepomuk,

Vielen Dank, für die Hilfe, und das so kurz vor Weihnachten.

Ich werd mal über die Feiertage den Code versuchen zu verstehen, und weiter auszubauen.

Kannst Du mir speziell in Zusammenhang mit VBA und Internet bzw. Textdateien irgenwelche Lektüre empfehlen, bzw. wie hast Du dir das angeeignet? Ich habe das VBA Codebook von Bert Körn und komme damit auch recht gut klar, aber gerade in Zusammenhang mit diesem Problem habe ich nirgends etwas gefunden, auch die VBA-Onlinehilfe ist da nichts, was mir weiterhilft?!

Ja, Danke nochmal, und schon mal schöne Feiertage.

Gruß Heidi
Anzeige
AW: Danke!!!!
23.12.2003 16:39:43
outerHTML einfach outerText verwendest, dann bekommst du den Seiteninhalt so, wie er im Internet Explorer zu lesen ist.
Hallo Heidi,
Weihnachtliche Grüße
Nepumuk
AW: Danke!!!!
24.12.2003 10:52:00
Heidi
Hallo Nepomuk,

ich habs gerade ausprobiert mit outerText, stimmt da kommt der Seiteninhalt so wie im IE.
Da ich aber die Benzinpreisinfos auslesen möchte, die in Bildern hinterlegt sind, ist die Methode mit dem zeilenweisen Auslesen die richtige und hilft mir schon sehr weiter. Ich bau gerade noch eine Schleife drumherum und Bedingungen zum speichern in unterschiedlichen Sheets und fertig.

vielen Dank noch mal für Deine Hilfe, ich hatte es schon fast aufgegeben!

Schöne Weihnachten, Gruß Heidi
gugst du bidde nochmal
23.12.2003 17:45:50
Nepumuk
Hallo Heidi
ich habe noch was rausgefunden, was dir sicher weiterhilft. Hier: https://www.herber.de/forum/messages/355629.html
Gruß
Nepumuk
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige