29. März 2024, 10:40
VB-fun.de - Beitragsübersicht zum VB-/VBA-Forum-Archiv 0401
  VBS: Textdatei auslesen
 Von thunderbird
 eMail
 Am 02. November 2007 um 00:43:22
 Frage Hallo VB-Experten,
habe das nachfolgende Script erhalten. Der Ersteller ist leider nicht mehr zu erreichen und leider funktioniert das Script noch nicht so, wie ich es benötige. Die fehlende Funktionalität habe ich im Script kommentiert. Wäre toll, wenn in diesem Forum ein VB-Experte mir bei der Vervollständigung behilflich sein könnte. Schon einmal vielen Dank.
Habe am Ende noch ein Textbeispiel angehängt.

strFilename = "neoex.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(strFilename)
intFileSize = objFile.Size
Set objFile = objFile.OpenAsTextStream()
strFileContent = objFile.Read(intFileSize)
objFile.Close

Set objRegExp = New RegExp
objRegExp.Pattern = Chr(34)
objRegExp.Global = True
objRegExp.IgnoreCase = True 'False für case-sensitive
strFileContent = objRegExp.Replace(strFileContent, "")



REM Dieser Text steht immer in der ersten Zeile und soll entfernt werden
REM - funktioniert nocht nicht
objRegExp.Pattern = "Database: C:\Programme\PGS\Pgs.gdb, User: PGS" & vbCrLf
strFileContent = objRegExp.Replace(strFileContent, "")



REM Diese Zeile kommt mehrfach in der Datei vor - soll als erste Zeile in der Datei
REM erhalten bleiben und als Header dienen. Zwischen dieser Zeile und den nachfolegnden
REM Daten soll keine Leerzeile sein.
REM Alle weiteren Zeilen dieser Art sollen gelöscht werden
REM - funktioniert bisher so, dass alle Zeile entfernt werden
objRegExp.Pattern = vbCrLf & "KNR PNR AM LM GDAT " & vbCrLf
strFileContent = objRegExp.Replace(strFileContent, "")



REM Diese Zeile steht immer unter der .o. a. Textzeile - kommt mehrfach vor und soll gelöscht werden
REM - funktioniert, alle Zeilen werden gelöscht!
objRegExp.Pattern = "====== ========== ====================== ====================== ======== " & vbCrLf
strFileContent = objRegExp.Replace(strFileContent, "")



REM Dieser Wert kommt mehrfach in der Datei vor und soll durch Leerstellen ersetzt werden
REM - funktioniert, alle diesbezüglichen Werte werden ersetzt!
objRegExp.Pattern = "<null>"
strFileContent = objRegExp.Replace(strFileContent, " ")



Set objFile = objFSO.OpenTextFile(strFilename, 2)
objFile.Write strFileContent
objFile.Close


Textbeispiel:

Database: C:\Programme\PGS\Pgs.gdb, User: PGS

KNR PNR AM LM GDAT
====== ========== ====================== ====================== ========

76 196353/000 1 1 31102006
76 197876 1 1 05122006
85 583237 1 1 30122006

KNR PNR AM LM GDAT
====== ========== ====================== ====================== ========
80 222903 1 1 <null>
80 223062 1 1 28122006
80 222998 1 1 24122006

KNR PNR AM LM GDAT
====== ========== ====================== ====================== ========
87 36407219 1 1 28122006
87 36397084 1 1 23112006
78 350723 1 1 25122006

[ VB-/VBA-Forum | Archiv 0401 | Archiv-Übersicht ]
 Antworten
VBS: Textdatei auslesen - thunderbird 02. November 2007 um 00:43:22
Re: Textdatei auslesen - Nico 04. November 2007 um 19:53:09

Zum Seitenanfang

Startseite | VB-/VBA-Tipps | Projekte | Tutorials | API-Referenz | Komponenten | Bücherecke | Gewinnspiele | VB-/VBA-Forum | DirectX | DirectX-Forum | VB.Net | VB.Net-Forum | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum