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

Printed on: April 19, 2024 at 01:04 o'clock

Member: bastla
bastla Feb 27, 2010 at 16:57:29 (UTC)
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
Member: bermsgruen1
bermsgruen1 Feb 28, 2010 at 08:50:43 (UTC)
Goto Top
Danke für die Mühe die du dir gemacht hast hat mir sehr geholfen.
Member: bastla
bastla Feb 28, 2010 at 10:09:31 (UTC)
Goto Top
Hallo bermsgruen1!

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

Grüße
bastla