Textfile auf 1000 Zeilen Teile aufspalten

Hallo!

Ich habe eine sehr lange Textdatei(.txt)
Ich möchte dass ich sie automatisch durch ein Programm in 1000 Zeilen Teile(Parts) aufspalten(splitten) lassen kann?

Beispiel:
Wenn die Datei 2300 Zeilen häte nd ich das Programm drüber laufen lasse, dass ich dann 3 .txt Dateien habe.
Mit welchem Programm ist dies möglich?

Ich habe eine sehr lange Textdatei(.txt)
Ich möchte dass ich sie automatisch durch ein Programm in 1000
Zeilen Teile(Parts) aufspalten(splitten) lassen kann?

Mit welchem Programm ist dies möglich?

hallo Peter,

mit sehr vielen Programmen. Nur mit Windows könntest du VBS nehmen.
Wenn du MS-Office hast, VBA.
Also was haste zur Verfügung?

Für VB/VBA empfiehlt sich das VB-Brett. Bitte den Mod dich dahin zu schubsen.

Gruß
Reinhard

Ja ich habe Office!
Nur leider habe ich keine Ahnung von VBA, ich weiß zwar wie man es öffnet, aber leider keine Erfahrung damit!

Ja ich habe Office!
Nur leider habe ich keine Ahnung von VBA, ich weiß zwar wie
man es öffnet, aber leider keine Erfahrung damit!

Hallo Peter,

okay, welche Version von Office?

Und, du sollst ja nur VBA benutzen, so wie eine Funktion in Excel.

Gruß
Reinhard

Also ich habe das alte office 2007!
Wie lautet denn diese funktion in excel?

1 Like

Hi Peter,

für so 'was ist jede Funktion oder jedes VBA in Excel m.E. ein Overkill.

  • gehe in die tausendunderste Zeile Deiner Tabelle (dazu kannst Du links in der Bearbeitungsleiste die Adresse eintippen, dann springt der Cursor dort hin)
  • markiere die vorstehenden tausend Zeilen
  • schneide sie aus und
  • füge sie in eine andere Tabelle ein
  • Wiederhole dies, bis keine Zeilen mehr vorhanden sind.

Mehr wolltest Du doch nicht, oder? Wenn ja, bitte nächstes Mal präzisere Angaben.

M.
________________
Ich rate, daß Du auch hier mit Deinem Latein-Wörterbuch beschäftigt bist. Oder?

1 Like

Hallo Peter!

Ich habe ein kleines Skript gebastelt, dass genau deine Aufgabe erledigt. Einfach den Programmcode in eine Datei (zum Beispiel namens split.vbs) speichern und ausführen. Zuvor wirst du aber noch die Pfade anpassen müssen.

Option Explicit
Const ForReading = 1
Const ForWriting = 2
Const TristateUseDefault = -2 
Dim fso, eingabe, ausgabe, ziel, endung
ziel = "G:\temp\teil"
endung = ".txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set eingabe = fso.OpenTextFile("G:\temp\Schlösser.txt", ForReading, False, TristateUseDefault)
Set ausgabe = Nothing
Do While eingabe.AtEndOfStream True
 If eingabe.Line Mod 1000 = 1 Then
 If Not ausgabe Is Nothing Then
 ausgabe.Close
 End If
 Set ausgabe = fso.OpenTextFile(ziel & (eingabe.Line\1000) + 1 & endung, ForWriting, True, TristateUseDefault)
 Else
 ausgabe.WriteLine()
 End If
 ausgabe.Write(eingabe.ReadLine)
Loop
ausgabe.Close
eingabe.Close

Es sind da sicher ein paar Feinheiten eingebaut. Also wenn du zu bestimmten Stellen Fragen hast, nur zu.

mfg
christoph

Danke!
Das Script hat super geklappt!
Vielen Dank!