bermsgruen1
Goto Top

Mehrere Zeilen auf mehreren html Dateien in Exel kopieren

Hallo zusammen,

ich hoffe mir kann jemand helfen ich probiere jetzt schon Wochenlang rum und es funktioniert einfach nicht.
Ich habe mehrere html-Dateien aus diesen Datein soll Zeile 399-409 in eine Zeile einer Exeltabelle kopiert werden.
Je Zeile soll immer nur der Text aus einer Datei stehen.

Gruß
bermsgruen1

Content-Key: 137022

Url: https://administrator.de/contentid/137022

Ausgedruckt am: 28.03.2024 um 17:03 Uhr

Mitglied: bastla
bastla 27.02.2010 um 17:57:29 Uhr
Goto Top
Hallo bermsgruen1 und willkommen im Forum!

Versuch mal folgendes VBA-Script:
Sub HoleZeilen()
Ordner = "D:\HTML-Dateien"  
Typ = "html" 'in Kleinbuchstaben  
VonZeileHTML = 399
BisZeileHTML = 409

AbZeileXL = 2 'Eintrag in Tabelle ab A2 (Zellinhalte werden überschrieben)  
SpalteXL = "A"  

ZeileXL = AbZeileXL
Set fso = CreateObject("Scripting.FileSystemObject")  
For Each Datei In fso.GetFolder(Ordner).Files
    If LCase(fso.GetExtensionName(Datei.Name)) = Typ Then
        T = Split(Datei.OpenAsTextStream.ReadAll, vbCrLf)
        D = ""  
        For i = VonZeileHTML - 1 To BisZeileHTML - 1 'Array ist nullbasiert  
            D = D & T(i)
        Next
        Cells(ZeileXL, SpalteXL) = D
        ZeileXL = ZeileXL + 1
    End If
Next
MsgBox "Fertig."  
End Sub
[Edit] Bei genauerer Betrachtung der Problembeschreibung soll vermutlich jede Zeile der HTML-Datei in eine eigene Zelle der Tabelle geschrieben werden - dann so:
Sub HoleZeilen()
Ordner = "D:\HTML-Dateien"  
Typ = "html" 'in Kleinbuchstaben  
VonZeileHTML = 399
BisZeileHTML = 409

AbZeileXL = 2 'Eintrag in Tabelle ab A2 (Zellinhalte werden überschrieben)  
AbSpalteXL = 1 'Spaltenangabe numerisch (A = 1)  

ZeileXL = AbZeileXL
Set fso = CreateObject("Scripting.FileSystemObject")  
For Each Datei In fso.GetFolder(Ordner).Files
    If LCase(fso.GetExtensionName(Datei.Name)) = Typ Then
        T = Split(Datei.OpenAsTextStream.ReadAll, vbCrLf)
        SpalteXL = AbSpalteXL
        For i = VonZeileHTML - 1 To BisZeileHTML - 1 'Array ist nullbasiert  
            Cells(ZeileXL, SpalteXL) = T(i)
            SpalteXL = SpalteXL + 1
        Next
        ZeileXL = ZeileXL + 1
    End If
Next
MsgBox "Fertig."  
End Sub
[/Edit]

In beiden Versionen wird vorausgesetzt, dass die HTML-Datei genügend Zeilen enthält.

Grüße
bastla
Mitglied: bermsgruen1
bermsgruen1 28.02.2010 um 09:50:43 Uhr
Goto Top
Danke für die Mühe die du dir gemacht hast hat mir sehr geholfen.
Mitglied: bastla
bastla 28.02.2010 um 11:09:31 Uhr
Goto Top
Hallo bermsgruen1!

Freut mich face-smile (war allerdings keine Mühe face-wink) ...

Grüße
bastla