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]