Nicht Textverarbeitung, aber Massentext

Hallo,

wie kann ich schnell Texte erzeugen (Inhalt kann sinnfrei sein, auch nur wirrer Buchstabensalat) mit wahlweiser Größe? Ausgabe im txt-Format (unformatiert also) und Größe bis GByte. Die Größe sollte genau bestimmbar sein. Vielleicht per Makro in Word oder besser noch in StarWriter.

VG Selorius

wie kann ich schnell Texte erzeugen (Inhalt kann sinnfrei
sein, auch nur wirrer Buchstabensalat) mit wahlweiser Größe?
Ausgabe im txt-Format (unformatiert also) und Größe bis GByte.
Die Größe sollte genau bestimmbar sein. Vielleicht per Makro
in Word oder besser noch in StarWriter.

Hallo Selorius,

wirrer Text geht sicher mit der Zufallsfunktion pro zeichen, dauert aber bei 2 GB sicher einige Zeit um dies zu erzeugen.
Schneller wird m.E. gehen die txt-datei nur mit dem gleichen Zeichen zu befüllen.
Wäre das okay als Word-Vba? Starwriter kenne ich nicht.

Gruß
Reinhard

Hallo Reinhard,

supervielen Dank für dein Angebot. Wirre Zeichen wäre besser. Aber auch ein Zeichen ist ok irgendwie. Word-vba kann ich verwenden.

Danke nochmal.

Gruß
Selorius

Hallo!

Wenn du Perl ausführen kannst:

#!perl
use strict;
use warnings;

for (my $i = 1; $i 
Und dann zum Beispiel so aufrufen:


    \>randomtext.pl 1024 \> datei.txt


Das erzeugt eine Textdatei mit 1024 ziemlich zufälligen Zeichen.

mfg
christoph

supervielen Dank für dein Angebot. Wirre Zeichen wäre besser.
Aber auch ein Zeichen ist ok irgendwie. Word-vba kann ich
verwenden.

Hallo Selorius,

wie gesagt wirre zeichen sind auch möglich, dann dauert der Code halt nochviel länger. Sag bescheid wenn du das möchtest.

DG ist die Dateigröße die du möchtest, ggfs. anpassen.
in ein Standardmodul, z.B. Modul1:

Option Explicit
'
Sub gross()
Dim N As Long, Anz As Long, Satz As String, DG As Long, Teil As Long
DG = 2000000000
Teil = 99999998
Anz = Int(DG / Teil)
Close
Open "C:\test\gross.txt" For Output As #1
Satz = String(Teil, "A")
For N = 1 To Anz
 Print #1, Satz
Next N
If DG - Anz \* (Teil + 2) - 2 \>= 0 Then Print #1, Left(Satz, DG - Anz \* (Teil + 2) - 2)
Close #1
Call Anzeige
End Sub
'
Sub Anzeige()
Dim fs, f
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile("C:\test\gross.txt")
MsgBox f.Size
End Sub

Gruß
Reinhard

Zum Gruße,
nicht ganz wirr, aber sehr einfach lassen sich Blindtexte in Word erzeugen, wenn man am Anfang des Dokuments eingibt
=lorem(x,y)
x ist die Anzahl der Absätze, y die Anzahl der Sätze im Absatz.
Wenn du das mit deutschem Text brauchst, gibst du am Anfang des Dokuments
=rand(x,y)
ein. Die Variablen bedeuten das Gleiche wie oben.

In Word muss bei den Autokorrekturoptionen angehakt sein „Bei der Eingabe ersetzen“, sonst funktioniert das nicht.

Gruß TL