Word, Makro, pro Zeile am Anfang und Ende einfügen

Hallo,

ich habe eine Textdatei, die solche Zeilen enthält (Anzahl Zeilen in beliebiger Menge):

00000000000000030211221003
00000000000000030211443003
00000000000000030221126003

diese Datei will ich in Word laden und bearbeiten.

Und zwar müssen die "0"en entfernt werden und an deren Stelle eine Zeichen-Kollonne eingefügt werden. Am Ende der Zeilen muss ebenfalls eine Zeichenkollonne eingefügt werden.

Kann mir jmd. einen Tipp geben wie ich das realisieren kann?

Grüße Zebralein

Hallo,

ich würde - sofern vorhanden - die Textdatei in Excel einlesen und beim Einlesen schon Typ Zahl für diese Spalte verwenden, dann kannst Du (wenn bspw. die Zahlen in Spalte A stehen) in Zelle B1 eingeben.
=„foo“ & A2 & „bar“
wobei foo und bar Deine Zeichen sind.

Gruß
Christian

Hallo nochmals,

bei Word kannst Du, sofern die führenden Nullen immer gleich lang sind, ganz einfach mit suchen und ersetzen arbeiten.
In einer Zeile die führenden Nullen markieren, [Strg]+[C], [Pos1], [Strg]+[H], [Tab], Dein Prefix, [Alt]+[A], ^p, [Tab], Dein Postfix**^p, [Alt]+[A].
Schon sind alle Nullen mit Deinem Text versehen und vor dem Absatzende Dein Zusatztext eingefügt. Diesen Vorgang kannst Du dann auch als Makro abspeichern.

Gruß
Christian**

…also zur ergänzung:

das soll immer wieder (täglich) durchgeführt werden mit ständig neuen dateien, aber mit demselben aufbau der dateien, also immer im selben stil… (siehe oben, Beispiel)

daher muss das automatisiert gemacht werden --> makro.

kann mir jmd. nen tipp geben / beispiel-makro?

Grüße Zebra

naja
den Makro hättest Du anhand der Angaben „Word“ auch selbst erstellen können

Sub PrefixPostfix()
 Selection.Find.ClearFormatting
 Selection.Find.Replacement.ClearFormatting

 With Selection.Find
 .Forward = True
 .Wrap = wdFindContinue
 .Format = False
 .MatchCase = False
 .MatchWholeWord = False
 .MatchWildcards = False
 .MatchSoundsLike = False
 .MatchAllWordForms = False

' prefix
 .Text = String(15, "0")
 .Replacement.Text = "prefix "
 .Execute Replace:=wdReplaceAll
' postfix
 .Text = "^p"
 .Replacement.Text = " postfix^p"
 .Execute Replace:=wdReplaceAll
 End With
End Sub ' PrefixPostfix()

Wenn der Makro etwas länger halten soll (also bis 13 führende Nullen), dann kannst Du diese Version verwenden

Sub PrefixPostfix()
 Dim nCounter

 Selection.Find.ClearFormatting
 Selection.Find.Replacement.ClearFormatting

 With Selection.Find
 .Forward = True
 .Wrap = wdFindContinue
 .Format = False
 .MatchCase = False
 .MatchWholeWord = False
 .MatchWildcards = False
 .MatchSoundsLike = False
 .MatchAllWordForms = False

' replace 0000000000000 to 000000000000000 with prefix
 For nCounter = 15 To 13 Step -1
 .Text = String(nCounter, "0")
 .Replacement.Text = "prefix "
 .Execute Replace:=wdReplaceAll
 Next nCounter
' postfix
 .Text = "^p"
 .Replacement.Text = " postfix^p"
 .Execute Replace:=wdReplaceAll
 End With
End Sub ' PrefixPostfix()

Gruß
Christian

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]