Textfiles manipulieren



Excel-Version: 8.0 (Office 97)
nach unten

Betrifft: Textfiles manipulieren
von: Markus
Geschrieben am: 18.06.2002 - 14:06:53

Hallo zusammen,

habe folgendes Problem: Bei mehreren 100 txt-files möchte ich jeweils die ersten 30 und die 18 letzten Zeilen löschen (und wieder speichern). Habe noch nichts vergleichbares gefunden. Hat jemand eine Idee? Die Lösung für eine Datei wäre schon eine grosse Hilfe.

Vielen Dank, Markus

nach oben   nach unten

Re: Textfiles manipulieren
von: snurps
Geschrieben am: 18.06.2002 - 21:42:57

Hallo,

so müßte es gehen starten mit Aufruf zeilen_löschen


Function zeilen_löschen(file_name As String)
Dim datei_text As String
Dim cou1 As Long
Dim cou2 As Long
Dim start1 As Long
Dim start2 As Long
start1 = 1
cou1 = 0
datei_text = datei_oeffnen(file_name)
start2 = Len(datei_text)
cou2 = 0
Do While cou1 < 30 And InStr(start1, datei_text, vbCrLf) > 0
    start1 = InStr(start1, datei_text, vbCrLf) + 1
    cou1 = cou1 + 1
Loop
Do While cou2 <= 18 And instrRev(start2, datei_text, vbCrLf) > 0
    start2 = instrRev(start2, datei_text, vbCrLf) - 1
    cou2 = cou2 + 1
Loop

datei_speichern file_name, Mid(datei_text, start1 + 1, start2 - start1)

End Function
Function instrRev(start As Long, wo, was) As Long
Dim pos1 As Long
pos1 = 0
Do While InStr(pos1 + 1, wo, was, vbTextCompare) > 0 And InStr(pos1 + 1, wo, was, vbTextCompare) < start
    pos1 = InStr(pos1 + 1, wo, was, vbTextCompare)
    
Loop
instrRev = pos1
End Function


Function datei_oeffnen(filenam As String) As String
Dim iFile As Integer
iFile = FreeFile
On Error GoTo errorHandler
        Open filenam For Input As #iFile
        datei_oeffnen = Input(LOF(iFile), #iFile)
        Close #iFile
Exit Function
errorHandler:
datei_oeffnen = ""
End Function
Function datei_speichern(filenam As String, inhalt As String)
Open filenam For Output As #1
    Print #1, inhalt
Close #1
End Function


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Textfiles manipulieren"