Textdatei per Macro bearbeiten

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox


Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: Textdatei per Macro bearbeiten
von: Michael B.
Geschrieben am: 21.06.2002 - 12:54:52

Hallo,

wie kann ich eine Textdatei per Macro wie folgt bearbeiten :
In der Datei kommt immer ein Seitenumbruch der mit dem Wort
Datum beginnt. ich möchte nun gerne die Zeilen ab Datum plus 4
weitere Zeilen aus der Datei löschen um eine fortlaufende Liste zu erhalten, die ich dann in's Excel importieren kann.

Ich würde mich über jeden Vorschlag freuen.
Gruß Michael

nach oben   nach unten

Re: Textdatei per Macro bearbeiten
von: Dirk
Geschrieben am: 21.06.2002 - 13:51:50

Hallo Michael,

da Du die Liste erst noch in Excel importieren willst, macht es meiner Meinung nach Sinn, die Textdatei außerhalb von Excel zu optimieren: Mit VB-Script! (...wenn es bei Dir installiert ist)
Dazu erstellst du eine Textdatei mit folgendem Inhalt, die Du z.B. "ohneDatum.VBS" oder so nennst. Und... Die Namen der Quell- und Zieldateien sind natürlich noch auf Deine Bedürfnisse anzupassen.


Set DateiObjekt=CreateObject("Scripting.FileSystemObject")
Quelle = "C:\Textdatei mit Datum.txt"
Ziel = "C:\Textdatei ohne Datum.txt"
SET DatenstromQuelle = Dateiobjekt.OpenTextFile (Quelle)
SET DatenstromZiel = Dateiobjekt.CreateTextFile(Ziel,TRUE)
DateiEnde = 0
Zeilenzaehler = 6
do while (DateiEnde = 0)
ON ERROR RESUME NEXT
Zeile = DatenstromQuelle.ReadLine
IF Err.Number = 0 THEN
IF LEFT(Zeile,5)="Datum" THEN Zeilenzaehler = 0
Zeilenzaehler = Zeilenzaehler + 1
IF Zeilenzaehler > 5 THEN DatenstromZiel.WriteLine Zeile
ELSE DateiEnde = 1
END IF
LOOP
DatenstromQuelle.close
DatenstromZiel.close
msgbox "Fertig",0,"Ende"

nach oben   nach unten

Re: Textdatei per Macro bearbeiten
von: Michael B.
Geschrieben am: 21.06.2002 - 14:21:35

Hallo Dirk,
das ist genau das was ich gesucht habe - nach einer kleinen Anpassung hat es sogar funktioniert. Vor dem Datum stand da noch das Zeichen für neue Seite, also habe ich einfach Deinen Code in der Zeile IF LEFT(ZEILE,5) auf (ZEILE,6) und das Zeichen geändert und es geht prima.
Jetzt vieleicht noch ein Schritt weiter : Die Textdateien haben nicht immer den selben Namen. Würde das ganze auch mit Platzhaltern gehen ?
Wo kann man eigentlich VB-Sctipt für Windows lernen ? Ich hätte da noch mehr so kleinere Sachen die ich gerne so abwickeln würde, aber mit der Windowshilfe komme ich nie weiter.

1000 Dank schon mal
Gruß Michael

nach oben   nach unten

Re: Textdatei per Macro bearbeiten
von: Dirk
Geschrieben am: 21.06.2002 - 16:28:41

Hallo Michael,

eigentlich gibt es fast nichts, was mit VBScript nicht geht. Mit Platzhaltern direkt kann man allerdings nicht arbeiten. Um nicht eine Universallösung zu erstellen: Wo sollen denn die Platzhalter im Dateinamen sein - oder besser, wie heisst denn so eine Datei?
(Hoffentlich gibt es keinen Verweis - ist ja schliesslich ein Excel-Forum)

P.S. Wo lernt man VBScript? Am billigsten mit der WScript Dokumentation von Microsoft.

nach oben   nach unten

Re: Textdatei per Macro bearbeiten
von: Michael B.
Geschrieben am: 24.06.2002 - 10:00:03

Hallo Dirk,

erst mal Danke für Deine Hilfe. Mir Excel hat es doch eigentlich sehr viel zu tun - ich würde dann gerne im Excel ein Macro schreiben welchen das VBScript startet und die neue Exceltabelle einbindet. Übrigens die Textdateien heissen z.B. 01-2002 Stempelübersicht.txt, 02-2002 Stempelübersicht.txt usw.
Also monatlich kommt immer eine dazu.

P.S. wo gibt es denn wscript dokumentation?


nach oben   nach unten

Re: Textdatei per Macro bearbeiten
von: Dirk
Geschrieben am: 24.06.2002 - 16:00:30

Hallo Michael,

die Dokumentation für den WindowsScriptingHost gibt es hier:
http://msdn.microsoft.com/scripting/windowshost/wshdoc.exe

Zu den Dateinamen: Sind alle Quelldateien in einem Pfad und sollen dann alle konvertiert werden? ... oder nur die aktuellste der Dateien? ... oder steht in dem Pfad nur die aktuellste Datei?
Übrigens: Wie soll die Zieldatei heißen? Bisher arbeitest Du ja mit einer Kopie.

Gruß Dirk

nach oben   nach unten

Re: Textdatei per Macro bearbeiten
von: Michael B.
Geschrieben am: 24.06.2002 - 16:36:08

Hey Dirk,

die Dateien stehen alle in einem Pfad und monatlich kommt immer eine dazu. Also wäre die Konvertierung der neuesten am sinvollsten. Ja Zieldatei .... , im Excel würde ich ja dann gerne eine Arbeitsmappe für das Jahr anlegen und die Tabellenblätter würden dann Januar, Februar usw. heissen. (mit ß sah das früher besser aus - heißen - aber gut) Die Zieldateien könnten dann doch Januar.txt usw. genannt werden, name vorher ist ja 01-2002... Kann man daraus das word Januar ableiten?

Gruß Micha


nach oben   nach unten

Re: Textdatei per Macro bearbeiten
von: Dirk
Geschrieben am: 25.06.2002 - 15:57:49

Hallo Michael,

folgende Lösung entspricht Deinen Anforderungen:

Ersetze die "Quelle=..."- und "Ziel=..."-Zeilen durch das hier:
Quelle = SucheAktuellsteDatei(Quellpfad)
Ziel = Zielpfad & DateiMonat(Quelle) & ".TXT"

Füge die beiden folgenden Zeilen darüber ein:
QuellPfad = "C:\"
ZielPfad = "C:\"

...und der Rest kommt ganz unten drunter.
Function SucheAktuellsteDatei(Quellpfad)
DIM Dateien, Datei, aktuellsteDatei
altDatum = "00-0000"
Set Ordner = Dateiobjekt.GetFolder(Quellpfad)
SET Dateien = Ordner.Files
IF Dateien.Count <> 0 Then
FOR EACH Datei IN Dateien
SET DateiInfo = Dateiobjekt.GetFile(Datei)
DateiName = DateiInfo.Name
IF RIGHT(DateiName,21) = " Stempelübersicht.txt" AND LEN (DateiName) = 28 THEN
Datum = LEFT(DateiName,7)
IF Datum > altDatum THEN
neustesDatum = Datum
aktuellsteDatei = Datei
END IF
altDatum = Datum
END IF
Next
SucheAktuellsteDatei = aktuellsteDatei
End If
SET Ordner = NOTHING
SET Dateien = NOTHING
SET DateiInfo = NOTHING
End Function

Function DateiMonat(Datei)
DIM Monatsnamen
Monatsnamen = Array("JANUAR","FEBRUAR","MÄRZ","APRIL","MAI","JUNI","JULI","AUGUST","SEPTEMBER","OKTOBER","NOVEMBER","DEZEMBER")
SET DateiInfo = Dateiobjekt.GetFile(Datei)
DateiName = DateiInfo.Name
DateiMonat = Monatsnamen(LEFT(DateiName,2)-1)
SET DateiInfo = NOTHING
END Function

Jetzt noch Quell- und Zielpfad anpassen und testen.

Viel Spaß
Dirk

nach oben   nach unten

Re: Textdatei per Macro bearbeiten
von: Michael B.
Geschrieben am: 25.06.2002 - 16:17:06

Hey Dirk,

meine Kinder würden jetzt sagen : Voll krass - echt geil

es funtioniert tadelos !! Ich bin voll begeistert. Nur verstehe ich jetzt den Code fast gar nicht mehr, da werde ich mich mal ein Wochenende damit beschäftigen. Hast du das eben mal aus dem Ärmel gezaubert oder hast du schon mal in ruhe nach ähnlichen Sachen gesucht ? Ich find es einfach toll und DANKE !!!

Gruß Micha

nach oben   nach unten

Re: Textdatei per Macro bearbeiten
von: Michael B.
Geschrieben am: 25.06.2002 - 16:17:46

Hey Dirk,

meine Kinder würden jetzt sagen : Voll krass - echt geil

es funtioniert tadelos !! Ich bin voll begeistert. Nur verstehe ich jetzt den Code fast gar nicht mehr, da werde ich mich mal ein Wochenende damit beschäftigen. Hast du das eben mal aus dem Ärmel gezaubert oder hast du schon mal in ruhe nach ähnlichen Sachen gesucht ? Ich find es einfach toll und DANKE !!!

Gruß Micha

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Textdatei per Macro bearbeiten"