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

Daten per VBA aus html Datei einlesen

Daten per VBA aus html Datei einlesen
11.06.2018 12:53:20
Patrick
Hallo zusammen,
ich möchte gerne Daten aus html Dateien automatisiert in Excel einlesen und dort weiterverarbeiten. Ist das per VBA möglich?
Ich bekomme täglich eine html Datei in einen bestimmten Ordner abgelegt. Aus dieser Datei sollen nun bestimmte Daten in Excel importiert werden. Die Excel Datei soll folgende Spalten besitzen:
A = Materialnummer
B = Materialkurztext
C = Bestand SAP
D = ME (SAP)
E = Bestand WMS
F = ME (WMS)
G = Bestandsdifferenz
Für jede neue html Datei soll ein eigenes Tabellenblatt erzeugt werden, so dass man z.B. 1106, 1206, 1306, etc. vorliegen hat.
Die html Datei selbst kann entweder aus einer oder mehreren Datenzeilen bestehen. Die Werte stehen immer zwischen "|". Ich benötige jedoch nur die Werte nach den folgenden "|" pro Datenzeile:
Nach der 2. Pipe = Materialnummer
Nach der 3. Pipe = Materialkurztext
Nach der 6. Pipe = Bestand SAP
Nach der 7. Pipe = ME (%) (SAP)
Nach der 8. Pipe = Bestand WMS
Nach der 9. Pipe = ME (WMS)
Nach der 10. Pipe = Bestandsdifferenz
Unter der folgenden URL findet ihr eine Beispieldatei: https://www.herber.de/bbs/user/122045.txt
Habt ihr Ideen zur Umsetzung, ist das machbar? Für ein paar Tipps wäre ich mega dankbar.
Viele Grüße
gospat

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Wer hat denn den HTML Aufbau verbrochen?
11.06.2018 17:09:25
Zwenn
Hallo Patrick,
sieht so aus, als kommt die Datei aus einem SAP System. Deren Lieblingszeichen scheint das geschützte Leerzeichen zu sein und so richtig viele HTML-Tags kennen die auch nicht. Aber gut, auch so bekommt man eine Tabellenstruktur gebastelt ;-)
Wie auch immer, Du bekommst Deine gewünschten Daten mit folgendem Makro in die Excel Tabelle, die grade offen ist. Mehr macht das Makro nicht, also keine Prüfungen irgendeiner Art. Die Tabelle sollte also leer sein! Du musst nur noch den Pfad zu Deiner HTML-Datei anpassen:

Sub DatenAusHTML()
Dim browser As Object
Dim url As String
Dim knotenAst As Object
Dim knotenZweig As Object
Dim splitArray() As String
Dim i As Long
Dim zeile As Long
'Für URL den Pfad zu Deiner HTML Datei setzen!
url = "file:///D:/122045.html"
zeile = 2
Set browser = CreateObject("internetexplorer.application")
browser.Visible = False
browser.navigate url
Do Until browser.readyState = 4: DoEvents: Loop
Set knotenAst = browser.document.getElementsByTagName("span")
If Not knotenAst Is Nothing Then
'Kopfzeile
Cells(1, 1).Value = "Materialnummer"
Cells(1, 2).Value = "Materialkurztext"
Cells(1, 3).Value = "Bestand SAP"
Cells(1, 4).Value = "Me(SAP)"
Cells(1, 5).Value = "Bestand WMS"
Cells(1, 6).Value = "Me(WMS)"
Cells(1, 7).Value = "Bestandsdifferenz"
For Each knotenZweig In knotenAst
If InStr(1, knotenZweig.innertext, "|") > 0 Then
splitArray = Split(knotenZweig.innertext, "|")
For i = 0 To UBound(splitArray)
Select Case i
Case 2
splitArray(i) = Replace(splitArray(i), Chr(160), " ")
Cells(zeile, 1).Value = Trim(splitArray(i))
Case 3
splitArray(i) = Replace(splitArray(i), Chr(160), " ")
Cells(zeile, 2).Value = Trim(splitArray(i))
Case 6
splitArray(i) = Replace(splitArray(i), Chr(160), " ")
Cells(zeile, 3).Value = Trim(splitArray(i))
Case 7
splitArray(i) = Replace(splitArray(i), Chr(160), " ")
Cells(zeile, 4).Value = Trim(splitArray(i))
Case 8
splitArray(i) = Replace(splitArray(i), Chr(160), " ")
Cells(zeile, 5).Value = Trim(splitArray(i))
Case 9
splitArray(i) = Replace(splitArray(i), Chr(160), " ")
Cells(zeile, 6).Value = Trim(splitArray(i))
Case 10
splitArray(i) = Replace(splitArray(i), Chr(160), " ")
Cells(zeile, 7).Value = Trim(splitArray(i))
End Select
Next i
zeile = zeile + 1
End If
Next knotenZweig
End If
browser.Quit
Set browser = Nothing
Set knotenAst = Nothing
Set knotenZweig = Nothing
End Sub

Viele Grüße,
Zwenn
Anzeige
AW: Wer hat denn den HTML Aufbau verbrochen?
11.06.2018 17:44:25
Patrick
Hi Zwenn,
vielen Dank, das funktioniert soweit schon super. Kannst du mir beim Feintuning eventuell auch noch weiterhelfen? Ich bin leider in VBA noch absoluter Neueinsteiger und würde das ohne fremde Hilfe wohl noch nicht hinbekommen. Ich werde mir aber im Nachgang deinen Code noch einmal genauer anschauen und versuchen daraus zu lernen.
Ich müsste jetzt zunächst noch Folgendes umsetzen: Das Erstellungsdatum der Datei müsste berücksichtigt werden und anhand dieses Datums soll dann ein Tabellenblatt erzeugt werden. Sinn und Zweck ist, dass täglich eine neue Datei abgelegt wird. Morgen hätte die Datei also das Erstellungsdatum 12.06.2018. Folglich soll ein Tabellenreiter namens "12.06." (das Format ist nicht entscheidend) hinzugefügt werden. Übermorgen dann wieder ein neuer Tabellenreiter "13.06." usw. ...
Anzeige
AW: Wer hat denn den HTML Aufbau verbrochen?
12.06.2018 09:44:06
Robert
Hallo Patrick ,
ergänze den Anfang Deines Makros wie folgt:
Sub DatenAusHTML()
Dim browser As Object
Dim url As String
Dim knotenAst As Object
Dim knotenZweig As Object
Dim splitArray() As String
Dim i As Long
Dim zeile As Long
Dim TabName As String
'Für URL den Pfad zu Deiner HTML Datei setzen!
url = "file:///D:/122045.html"
TabName = Format(FileDateTime(url), "dd.MM")
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = TabName
'hier dann weiter mit Deinem Makro
Dann wird eine Tabelle mit dem Erstellungsdatum der HTML-Datei erstellt. Nicht eingebaut ist eine Überprüfung, ob es diesen Tabellennamen bereits gibt.
Gruß
Robert
Anzeige
AW: Wer hat denn den HTML Aufbau verbrochen?
12.06.2018 09:50:45
Patrick
Hallo Robert,
vielen Dank, aber jetzt bekomme ich eine Fehlermeldung bei der Ausführung des Makros.
"Laufzeitfehler '5': Ungültiger Prozeduraufruf oder ungültiges Argument"
Hier der komplette Code:

Sub DatenAusHTML()
Dim browser As Object
Dim url As String
Dim knotenAst As Object
Dim knotenZweig As Object
Dim splitArray() As String
Dim i As Long
Dim zeile As Long
Dim TabName As String
'Für URL den Pfad zu Deiner HTML Datei setzen!
url = "file:///C:/Users/Patrick/Downloads/test.htm"
TabName = Format(FileDateTime(url), "dd.MM")
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = TabName
zeile = 2
Set browser = CreateObject("internetexplorer.application")
browser.Visible = False
browser.navigate url
Do Until browser.readyState = 4: DoEvents: Loop
Set knotenAst = browser.document.getElementsByTagName("span")
If Not knotenAst Is Nothing Then
'Kopfzeile
Cells(1, 1).Value = "Materialnummer"
Cells(1, 2).Value = "Materialkurztext"
Cells(1, 3).Value = "Bestand SAP"
Cells(1, 4).Value = "Me(SAP)"
Cells(1, 5).Value = "Bestand WMS"
Cells(1, 6).Value = "Me(WMS)"
Cells(1, 7).Value = "Bestandsdifferenz"
For Each knotenZweig In knotenAst
If InStr(1, knotenZweig.innertext, "|") > 0 Then
splitArray = Split(knotenZweig.innertext, "|")
For i = 0 To UBound(splitArray)
Select Case i
Case 2
splitArray(i) = Replace(splitArray(i), Chr(160), " ")
Cells(zeile, 1).Value = Trim(splitArray(i))
Case 3
splitArray(i) = Replace(splitArray(i), Chr(160), " ")
Cells(zeile, 2).Value = Trim(splitArray(i))
Case 6
splitArray(i) = Replace(splitArray(i), Chr(160), " ")
Cells(zeile, 3).Value = Trim(splitArray(i))
Case 7
splitArray(i) = Replace(splitArray(i), Chr(160), " ")
Cells(zeile, 4).Value = Trim(splitArray(i))
Case 8
splitArray(i) = Replace(splitArray(i), Chr(160), " ")
Cells(zeile, 5).Value = Trim(splitArray(i))
Case 9
splitArray(i) = Replace(splitArray(i), Chr(160), " ")
Cells(zeile, 6).Value = Trim(splitArray(i))
Case 10
splitArray(i) = Replace(splitArray(i), Chr(160), " ")
Cells(zeile, 7).Value = Trim(splitArray(i))
End Select
Next i
zeile = zeile + 1
End If
Next knotenZweig
End If
browser.Quit
Set browser = Nothing
Set knotenAst = Nothing
Set knotenZweig = Nothing
End Sub
Ist es sehr aufwändig noch eine Prüfung einzubauen, ob eine Datei schon eingelesen wurde? Das wäre nämlich dann das Sahnehäubchen ;-)
Anzeige
AW: Wer hat denn den HTML Aufbau verbrochen?
12.06.2018 10:21:39
Robert
Hall Patrick,
der Fehler tritt wegen dem Format der url auf. Ich vermute, dass dies wegen der Auswertung aber so sein muss. Ich habe den Code mal etwas abgeändert, jetzt wird geprüft, ob es eine entsprechende Tabelle bereits gibt. Sollte dies der Fall sein, wird das Makro nach einer entsprechenden Meldung abgebrochen. Gibt es die Tabelle noch nicht, wird sie erstellt.
Sub DatenAusHTML()
Dim browser As Object
Dim url As String
Dim knotenAst As Object
Dim knotenZweig As Object
Dim splitArray() As String
Dim i As Long
Dim zeile As Long
Dim TabName As String, wks As Worksheet
'Für URL den Pfad zu Deiner HTML Datei setzen!
url = "C:/Users/Patrick/Downloads/test.htm"
TabName = Format(FileDateTime(url), "dd.MM")
For Each wks In ThisWorkbook.Sheets
If wks.Name = TabName Then
MsgBox "Tabelle " & TabName & " bereits vorhanden! Makro wird abgebrochen.",  _
vbInformation, "Tabelle bereits vorhanden"
Exit Sub
End If
Next
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = TabName
url = "file:///" & url
zeile = 2
'hier dann weiter mit Deinem Code
Gruß
Robert
Anzeige
AW: Wer hat denn den HTML Aufbau verbrochen?
12.06.2018 10:42:33
Patrick
Ok, danke, funktioniert. Ich habe jetzt das Makro ausgeführt und die Datei vom 11.06. wird eingelesen und der Reiter 11.06. erstellt. Dann habe ich die Excel Datei gespeichert, geschlossen und erneut geöffnet. Ich habe eine neue Datei namens test.htm erzeugt - also mit 12.06. als Datum - und die alte Datei umbenannt. Führe ich jetzt das Makro aus, erstellt Excel zwar einen neuen Reiter "12.06.", aber die Fehlermeldung "Laufzeitfehler '-2147417848 (80010108): Automatisierungsfehler Das aufgerufene Objekt wurde von den Clients getrennt." wird angezeigt.
Hast du eine Idee woran das liegen kann?
Anzeige
AW: Wer hat denn den HTML Aufbau verbrochen?
12.06.2018 11:03:34
Zwenn
Hallo Patrick,
das ist wahrscheinlich ein Folgefehler, der im Normalbetrieb nicht auftritt. Du hast vorher wahrscheinlich einiges ausprobiert und dabei wurde evtl. der Internet Explorer gestartet, aber nicht wieder beendet, bzw. hat sich "irgendetwas gemerkt". Das Teil ist mitunter recht instabil, solange man in der Entwicklungsphase ist. Das geht bis zum Blue Screen, wenn man Pech hat.
In solchen Fällen einfach mal den Task Manager öffnen und nachsehen, ob noch Instanzen vom IE laufen. die einfach beenden. Dazu die Prozesse "iexplore.exe" schließen, nicht die "iexplore.exe *32". Die gehen automatisch mit zu. In hartnäckigen Fällen hilft nur ein Rechner Neustart.
Viele Grüße,
Zwenn
Anzeige
AW: Wer hat denn den HTML Aufbau verbrochen?
12.06.2018 11:33:41
Patrick
Hallo Zwenn,
vielen Dank für die Info, aber es funktioniert leider nicht. Ich habe jetzt deinen Code in eine neue Excel Datei eingefügt. FÜhre ich das Makro dann aus, erstellt er zwar den Tab, aber es erscheint wieder die Fehlermeldung. Es wird aber ein separates IE Fenster mit der html Datei geöffnet. Liegt da irgendwo eventuell das Problem?
Eine andere Sache fällt mir auch noch ein. Wäre es möglich den Code noch ein wenig anzupassen? Momentan trage ich ja einen festen Dateinamen ein. In der Realität wird es aber so sein, dass in diesem Verzeichnis "Downloads" täglich Dateien landen, die sich im Namen unterscheiden. Das Muster wird test_1106, test_1206, test_1306, ... sein. Kann man den Code so gestalten, dass alle Dateien eingelesen werden, natürlich nur, wenn sie noch nicht vorhanden sind. Am besten natürlich sortiert, sprich 1106 vor 1206 usw.
Ich weiß ich verlange hier ziemlich viel von euch, aber VBA liegt mir einfach noch nicht. Mit anderen Programmierungen kenne ich mich wesentlich besser aus.
Anzeige
AW: Wer hat denn den HTML Aufbau verbrochen?
12.06.2018 11:47:37
Zwenn
Hallo Patrick,
wie ich in meiner ersten Antwort schrieb, ist der HTML-Code echt übel. Das ist aus den tiefsten 90ern würde ich schätzen. Ich ging natürlich davon aus, dass die Dateien alle gleich aufgebaut sind. Lade mal bitte zwei oder drei weitere HTML-Codes hoch. So kann ich Deinen Fehler nicht nachvollziehen, weil es mit der einen HTML-Datei natürlich immer klappt bei mir.
Wie liegen die Dateien denn vor? Immer im gleichen Verzeichnis aber immer mit unterschiedlichem Namen? Wenn ja, Liegen da auch noch andere Dateien im Verzeichnis, die nix mit diesem Projekt zu tun haben? Wird jeden Tag eine Datei eingelesen oder gibt es auch die Möglichkeit, das mehrere Dateien abgearbeitet werden müssen? Z.B. nach einem Wochenende oder nach Deinem Urlaub oder auch einfach, weil Du gar nicht jeden Tag dazu kommst, das Makro laufen zu lassen.
Mal als Denkansatz für Dich folgender Vorschlag:
  • Am besten ist, wenn die einzulesenden Dateien immer im gleichen Verzeichnis liegen, in dem keine anderen Dateien liegen

  • Man kann dann alle Dateien nacheinander abarbeiten und die fertigen in ein anderes Verzeichnis verschieben

  • Dann bräuchtest Du im Makro nur ein einziges Mal vor dem ersten Lauf die beiden Pfade anzupassen und der Rest läuft dann immer automatisch, wenn man es entsprechend programmiert.
    Viele Grüße,
    Zwenn
    Anzeige
    AW: Wer hat denn den HTML Aufbau verbrochen?
    12.06.2018 11:55:05
    Patrick
    Hi Zwenn,
    vielen Dank schon mal für deine Bemühungen im Voraus, wirklich klasse!
    Der Aufbau der HTML Dateien ist von der Struktur immer gleich, da ändert sich eigentlich nichts. Lediglich die Anzahl der Datensätze kann unterschiedlich sein.
    Ich habe gerade eben eine komplett neue Excel Datei erzeugt und deinen neusten Code als neues Modul in den Entwicklertools angelegt. Wenn ich dann das Makro starte, legt er den Tab "11.06.2018" korrekt mit den entsprechenden Daten ab. Danach habe ich eine neue html Datei erzeugt und die Daten aus der ursprünglichen Datei dort hineinkopiert. Die Namen habe ausgetauscht, die alte Datei heißt jetzt test1.htm und die neue test.htm. Der Inhalt ist also komplett identisch, jetzt habe ich nur ein neues Änderungsdatum, nämlich den "12.06.2018". Führe ich das Makro jetzt noch einmal aus, ist das Problem wieder da. Ein Reiter "12.06.2018" wird angelegt, die Fehlermeldung erscheint und Chrome öffnet mir die html Datei in einem neuen Fenster.
    Grundsätzlich zu deinen Fragen:
    * Immer gleiches Verzeichnis
    * Dateinamen unterscheiden sich nur durch Suffix, z.B. _1106, _1206
    * Andere Dateien liegen dort nicht
    * Es kann sein, dass an einem Tag mehrere Dateien verarbeitet werden müssen
    Das wäre das Optimum meiner Meinung nach
    AW: Wer hat denn den HTML Aufbau verbrochen?
    12.06.2018 12:24:13
    Zwenn
    Hallo Patrick,
    nun konnte ich den Fehler nachvollziehen. Allerdings habe ich keine Idee, woran es liegen könnte. Wenn ich statt einer neuen Datei anzulegen und den HTML-Code dort reinzukopieren, die bestehende Datei kopiere, öffne und einmal speichere, funktioniert es. Hast Du nicht eine neue Original-Datei von heute? Die andere ist doch von gestern. Probiere es bitte noch einmal mit einer weiteren Datei aus dem original System aus.
    Du schreibst in Deiner Auflistung Es kann sein, dass an einem Tag mehrere Dateien verarbeitet werden müssen In dem Fall funktioniert das jetzige System aber nicht. Du wolltest eine neue Tabelle mit dem Erstelldatum als Namen (ok, ist im Moment das Datum der letzten Änderung, was bei neuen Dateien aber egal ist). Das bedeutet, sobald Du eine zweite Tabelle vom gleichen Tag importieren willst, wird die abgelehnt, weil eine Tabelle mit dem Namen schon besteht. Man müsste hier also wahrscheinlich über den Dateinamen der HTML-Datei gehen.
    Viele Grüße,
    Zwenn
    AW: Wer hat denn den HTML Aufbau verbrochen?
    12.06.2018 12:30:30
    Patrick
    Ok, ich werde es probieren, sobald ich eine neue Datei habe, momentan liegt mir leider keine vor.
    Ich glaube bei Punkt 2 haben wir ein Missverständnis. Das SAP System generiert jeden Tag nur eine einzige Datei und diese ist dann für diesen bestimmten Tag. Es kann jedoch vorkommen, dass ich im Urlaub war oder Wochenende war usw. Folglich muss es möglich sein z.B. am Montag die Daten für Montag, Sonntag und Samstag auf einen Schlag einzulesen.
    Nehmen wir mal an, ich habe am Freitag das letzte Mal das Makro ausgeführt und ich komme heute wieder in die Arbeit. Die Excel Datei hat als letzten Tabellenreiter also "08.06.2018". Würde ich das Makro heute ausführen, dann soll es "09.06.2018", "10.06.2018", "11.06.2018" und "12.06.2018" anlegen.
    Ich habe aber nur eine einzige Excel-Datei. Diese soll lediglich mehrere Tabellenreiter besitzen. Ich hoffe jetzt ist klar, was ich erreichen möchte.
    AW: Wer hat denn den HTML Aufbau verbrochen?
    12.06.2018 12:50:58
    Zwenn
    Alles klar,
    das hatte ich wirklich missverstanden. Dann kann es grundsätzlich so bleiben, wie es jetzt ist. Melde Dich hier einfach wieder, wenn Du eine neue Datei aus dem original System testen konntest.
    AW: Wer hat denn den HTML Aufbau verbrochen?
    12.06.2018 12:58:58
    Patrick
    Kannst du mir noch sagen, wie ich den Code ändern müsste, damit der Dateiname nicht vorgegeben werden muss, sonder nur das Verzeichnis? Er soll ja das komplette Verzeichnis "Downloads" nach Dateien durchsuchen, da sich der Dateiname ja ändert. Eigentlich reicht eine Suche nach .htm Dateien.
    AW: Wer hat denn den HTML Aufbau verbrochen?
    12.06.2018 10:45:26
    Zwenn
    Hallo zusammen,
    ich würde es so machen:
    
    Sub DatenAusHTML()
    Dim browser As Object
    Dim url As String
    Dim knotenAst As Object
    Dim knotenZweig As Object
    Dim splitArray() As String
    Dim i As Long
    Dim zeile As Long
    Dim pfad As String
    Dim tabName As String
    'Für URL den Pfad zu Deiner HTML Datei setzen!
    pfad = "E:/Rest/Herber Forum/Werte aus HTML Datei holen - Patrick/122045.html"
    url = "file:///" & pfad
    zeile = 2
    tabName = Format(GetFileDate(pfad), "dd.MM.yyyy")
    If tabName  "01.01.1900" Then
    If WorksheetEx(tabName) = False Then
    Sheets.Add After:=Sheets(Sheets.Count)
    ActiveSheet.Name = tabName
    Else
    MsgBox "Ein Tabellenbaltt mit diesem Namen existiert bereits."
    Exit Sub
    End If
    Else
    MsgBox "Die angegebene Datei existiert nicht." & Chr(13) & _
    Chr(13) & "Mögliche Fehlerquelle 1:" & Chr(13) & _
    "Der Pfad enthält Leerzeichen, die durch das Kopieren " & _
    "der URL aus dem Browser durch %20 ersetzt wurden." & _
    "Lösung: Jedes %20 durch ein Leerzeichen ersetzen." & Chr(13) & _
    Chr(13) & "Mögliche Fehlerquelle 2:" & Chr(13) & _
    "Dem Pfad ist file:/// vorangestellt. " & _
    "Diese Zeichenkette ist nur für die URL wichtig " & _
    "und wird automatisch ergänzt." & _
    Chr(13) & Chr(13) & "Lösung:" & Chr(13) & _
    "Den Präfix file:/// aus dem Pfad löschen"
    Exit Sub
    End If
    Set browser = CreateObject("internetexplorer.application")
    browser.Visible = False
    browser.navigate url
    Do Until browser.readyState = 4: DoEvents: Loop
    Set knotenAst = browser.document.getElementsByTagName("span")
    If Not knotenAst Is Nothing Then
    'Kopfzeile
    Cells(1, 1).Value = "Materialnummer"
    Cells(1, 2).Value = "Materialkurztext"
    Cells(1, 3).Value = "Bestand SAP"
    Cells(1, 4).Value = "Me(SAP)"
    Cells(1, 5).Value = "Bestand WMS"
    Cells(1, 6).Value = "Me(WMS)"
    Cells(1, 7).Value = "Bestandsdifferenz"
    For Each knotenZweig In knotenAst
    If InStr(1, knotenZweig.innertext, "|") > 0 Then
    splitArray = Split(knotenZweig.innertext, "|")
    For i = 0 To UBound(splitArray)
    Select Case i
    Case 2
    splitArray(i) = Replace(splitArray(i), Chr(160), " ")
    Cells(zeile, 1).Value = Trim(splitArray(i))
    Case 3
    splitArray(i) = Replace(splitArray(i), Chr(160), " ")
    Cells(zeile, 2).Value = Trim(splitArray(i))
    Case 6
    splitArray(i) = Replace(splitArray(i), Chr(160), " ")
    Cells(zeile, 3).Value = Trim(splitArray(i))
    Case 7
    splitArray(i) = Replace(splitArray(i), Chr(160), " ")
    Cells(zeile, 4).Value = Trim(splitArray(i))
    Case 8
    splitArray(i) = Replace(splitArray(i), Chr(160), " ")
    Cells(zeile, 5).Value = Trim(splitArray(i))
    Case 9
    splitArray(i) = Replace(splitArray(i), Chr(160), " ")
    Cells(zeile, 6).Value = Trim(splitArray(i))
    Case 10
    splitArray(i) = Replace(splitArray(i), Chr(160), " ")
    Cells(zeile, 7).Value = Trim(splitArray(i))
    End Select
    Next i
    zeile = zeile + 1
    End If
    Next knotenZweig
    End If
    browser.Quit
    Set browser = Nothing
    Set knotenAst = Nothing
    Set knotenZweig = Nothing
    End Sub
    
    
    Function GetFileDate(ByVal sFilePath As String) As Date
    'Quelle: http://www.office- _
    loesung.de/ftopic182822_0_0_asc.php
    Dim fso As Object
    Dim fsFile As Object
    Dim dReturn As Date
    Set fso = CreateObject("Scripting.FileSystemObject")
    'Existiert die Datei?
    If fso.FileExists(sFilePath) Then
    Set fsFile = fso.GetFile(sFilePath)
    dReturn = fsFile.DateLastModified   ' - Letzte Änderung
    'Alternativen:
    'dReturn = fsFile.DateLastAccessed  ' - Letzter Zugriff
    'dReturn = fsFile.DateCreated       ' - Erstelldatum
    Else
    'Irgendein Rückgabedatum für den Elsefall wählen, um diesen nachher abzufangen
    dReturn = CDate("01.01.1900")
    End If
    GetFileDate = dReturn
    End Function
    
    
    Function WorksheetEx(strNam As String) As Boolean
    'Quelle: https://www.herber.de/forum/archiv/1088to1092/1088944_Ueberpruefen_ob_Tabellenblatt_existiert.html
    On Error Resume Next
    WorksheetEx = Worksheets(strNam).Index > 0
    End Function
    
    Viele Grüße,
    Zwenn

    35 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige