Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nicht ASCII-Datei splitten ?

Forumthread: Nicht ASCII-Datei splitten ?

Nicht ASCII-Datei splitten ?
28.03.2006 19:38:22
Joachim
Hallo,
ich muss eine Datei (nicht ASCII !) in kleinere Teile zerlegen.
Irgendwie komme ich da nicht weiter. Nachfolgend mein erster Versuch, die Datei von A nach B zu kopieren (noch ohne Splitting); dies funktioniert, da der Buffer aber nur Byte-Größe hat, dauert das bei größeren Dateien ewig.
Wie kann ich das am elegantesten lösen?
Leider gibt es nur wenige Tipps zu BINARY!
ThanX vorab !
Sub DateiSplit()
FileToOpen = Application.GetOpenFilename("Text Files (*.*), *.*")
If FileToOpen False Then
SourceFileName = Dir(FileToOpen)
SourceFileNameoExt = Left(SourceFileName, InStr(SourceFileName, ".") - 1)
SourceFileDir = Left(FileToOpen, Len(FileToOpen) - Len(Dir(FileToOpen)))
FileToSave = SourceFileDir & "Split_" & SourceFileName
OpenFileNr = FreeFile
Open FileToOpen For Binary Access Read As #OpenFileNr
SaveFileNr = FreeFile
Open FileToSave For Binary Access Write As #SaveFileNr
For ActPos = 1 To FileLen(FileToOpen)
Get #OpenFileNr, , Buffer
Put #SaveFileNr, ActPos, Buffer
Next ActPos
Close #SaveFileNr
Close #OpenFileNr
End If
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nicht ASCII-Datei splitten ?
28.03.2006 19:42:32
MichaV
Hallo,
es sieht so aus, als ob Du die Datei kopierst, und nicht splittest. Aber egal.
da der Buffer aber nur Byte-Größe hat, dauert das bei größeren Dateien ewig
...die Puffergröße änderst Du mit
Buffer=Space(Lof(FileToOpen))
Dann landet mit der Get- Anweisung die gesamte Datei im Puffer.
Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: Nicht ASCII-Datei splitten ?
28.03.2006 19:48:36
Joachim
Korrekt, zur Zeit kopiere ich nur.
Ich will ja erstmal sehen, ob die Datei korrekt kopiert wird, bevor ich mit dem splitten anfange .
Ich probiere das gleich mal aus. ThanX erstmal!
Gibt es bei der Puffergröße eine Größenbeschränkung?
AW: Nicht ASCII-Datei splitten ?
28.03.2006 19:50:53
MichaV
Hallo,
ich denke, Du kannst einen ganzen String damit füllen. Also 2GB.
Gruß- Micha
Anzeige
AW: Nicht ASCII-Datei splitten ?
28.03.2006 19:59:17
Joachim
2GB hört sich doch erstmal gut an ! ... Muss dennoch splitten ;-(
Ich bekomme immer "Typen unverträglich"
(For-Next ist erstmal draussen)
Welchen Typ muss ich jetzt für Buffer einrichten?
Was trage ich bei ActPos ein (Stelle bei GET und PUT) ?
AW: Nicht ASCII-Datei splitten ?
28.03.2006 20:11:40
MichaV
Hallo,
Funktionsprinzip ist so:

Sub test()
Dim Buffer As String
Dim i%, x%
Open "E:\Micha\Excel\suchtext.txt" For Binary As #1
Open "E:\Micha\Excel\1.txt" For Binary As #2
Open "E:\Micha\Excel\2.txt" For Binary As #3
Buffer = Space(LOF(1))
Get #1, , Buffer
'nur Idee, nicht 1:1 nachbauen!
For i = 1 To LOF(1) Step 2
x = x + 1
Put #2, x, Mid(Buffer, i, 1)
Put #3, x, Mid(Buffer, i + 1, 1)
Next i
Close
End Sub

Damit bekomme ich aus einer 8KB- Datei zwei 4KB- Dateien. Aber Dir ist schon klar, dass Du Dir damit ganz schnell alle Daten zerschießen kannst?
Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: Nicht ASCII-Datei splitten ?
28.03.2006 20:32:37
Joachim
Wo siehst Du die Gefahren, dass ich die Dateien zerschieße?
Zumindest die Quell-Dateien werde ich mit ACCESS READ öffnen. Da kann ja erstmal nix passieren!
AW: Nicht ASCII-Datei splitten ?
28.03.2006 20:42:17
MichaV
Hallo,
wenn Du die Datei an irgendeiner Stelle trennst, zerreißt Du damit ggf. zusammengehörige Daten und kannst damit unter Umständen die gesamte Datenstruktur verlieren.
https://www.herber.de/forum/archiv/704to708/t706533.htm#706773
Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige