Anzeige
Archiv - Navigation
1280to1284
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

Code umwandeln - Quelltext importieren

Code umwandeln - Quelltext importieren
03.10.2012 08:38:09
Wolfgang
Hallo,
noch auf der Suche nach einer Möglichkeit, bestimmte Daten aus HTML-Quelltext zu importieren, entdeckte ich unter Recherche folgenden Code. Wie könnte/müßte der Code angepasst werden, dass ich aus einer aktiven (also, nicht aus einer Datei) Website -Internetexplorer- den Quelltext in Tabelle 2 der Excel-Mappe importieren kann?
Danke schon jetzt für die Rückantworten.
Gruß - Wolfgang
Option Explicit
Sub GetInnerText()
Dim objBrowser As Object
Dim objDoc As Object
Dim vFile, vTxt
On Error GoTo ErrorHandler
vFile = Application.GetOpenFilename(, , "Lieferscheine- Datei")
If VarType(vFile) = vbBoolean Then Exit Sub
Set objBrowser = CreateObject("InternetExplorer.Application")
With objBrowser
.Visible = False
.Navigate vFile
Do While objBrowser.Busy
Loop
Set objDoc = objBrowser.Document
Do While objDoc.readyState  "complete"
Loop
vTxt = Split(objDoc.Body.InnerText, vbCrLf)
.Quit
End With
With Sheets("Tabelle2")
.Cells.Delete
.Cells(1, 1).Resize(UBound(vTxt) + 1).Value = Application.Transpose(vTxt)
End With
ErrorHandler:
If Not objBrowser Is Nothing Then
objBrowser.Quit
End If
Set objDoc = Nothing
Set objBrowser = Nothing
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
erster Buchstabe wird gelöscht - was ist falsch?
03.10.2012 21:50:33
Wolfgang
Hallo,
mit dem folgenden Code, den ich auch unter Rechereche fand und soweit anpassen konnte, erreiche ich nun, dass, der Text oder Quellcode (je nach Anpassung) einer Website aus dem aktiven Internetexplorer in eine Textdatei gespeichert wird. Der erste Buchstabe der Website wird in der Textdatei aber "geschluckt", wie kann ich das verhindern? - Kann ich den Zeilenbereich, der jetzt von 0 bis 25000 starr vorgegebén ist, dynamisch gestalten?
Danke schon jetzt für die Rückantworten.
Herzliche Grüße - Wolfgang
Option Explicit
Sub Textimport()
Dim objShellWindows As New SHDocVw.ShellWindows
Dim objShellWindow As Object
On Error Resume Next
Dim lfCount As Integer, txtSearch As Long
Dim sTxt As String, txtLine As String, txtbool As Boolean
For Each objShellWindow In objShellWindows
If TypeName(objShellWindow.Document) = "HTMLDocument" Then
Do: Loop Until objShellWindow.Busy = False
Do: Loop Until objShellWindow.Busy = False
sTxt = objShellWindow.Document.DocumentElement.outerText 'oder outerHTML
Set objShellWindow = 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 0 To 25000: txtbool = True 'Zeile 20 bis 25000
End Select
End If
Next
Close
MsgBox "Der Text wurde gespeichert unter:" & vbLf & ThisWorkbook.Path & "\test.txt"
End If
Next objShellWindow
End Sub

Anzeige
AW: erster Buchstabe wird gelöscht - was ist falsch?
04.10.2012 11:53:52
Born
Hallo Wolfgang,
probiere mal in der For-Schleife mit 0 statt mit 1 zu beginnen. Die 25000 war scheinbar eine Max.-Grenze in dem Projekt, aus der Du den Code kopiert hast. Ein Wert bis ca. 65000 sollte problemlos machbar sein, bei Office2010 ggf. auch mehr (max. Zeilenanzahl).
Gruß,
M. Born

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige