Ich möchte gerne einen Word-Serienbrief auch als Formular verwenden. Das Dokument ist mit einer Datenbank verknüpft und die Formularfelder sind eingefügt. Sowie ich nun die Serienbrieffunktion aktiviere, werden mir im Formular sämtliche Textformularfelder rausgeschmissen und in fünf Leerstellen umgewandelt. Die anderen Formularfelde, wie Dropdown oder Kontrollkästchen bleiben erhalten. Leider habe ich bisher keinen Weg finden können, wie ich das ändern kann, dass auch die Textformularfelder erhalten bleiben. Also dachte ich, wäre doch geschickt diese Felder durch Suchen und Ersetzen wieder zu korrigieren, doch leider gibt es scheinbar keine Möglichkeit nach Text (Leerstellen) zu suchen und diese ersetzen zu lassen durch Formularfelder. Nun, vielleicht dann durch ein Makro, doch wie müsste das dann aussehen? Weiß hier jemand einen Rat?
Office - Word, Excel und Co. 9.753 Themen, 41.606 Beiträge
Beides zusammen geht nicht.
Nun, das habe ich auch festgestellt, doch es wäre eine große Hilfe, wenn ich wüsste, wie ein Makro aussehen müsste, um Text (in diesem Fall Leerstelle) durch Textformularfelder zu ersetzen.
Es wird dir für deinen Fall wohl trotzdem nicht viel nützen:
Sub TextDurchFfErsetzen()
Const ksSuche = "Formularfeld" ' dein Suchtext
Dim objMerk As Range
Dim objFf As FormField
Dim I As Integer
Set objMerk = Selection.Range
ActiveDocument.Range(0, 0).Select
With Selection.Find
.ClearFormatting
.Text = ksSuche
.Wrap = wdFindStop
.Forward = True
' ggf. weiteres (etwa von letzter Suche)
Do While .Execute
I = I + 1
Set objFf = ActiveDocument.FormFields.Add(Selection.Range, 70) ' Text-Formularfeld
' jetzt Eigenschaften nach Bedarf einstellen
With objFf
.Name = "Ff" & Trim(Str(I))
.Enabled = True
.TextInput.Width = 1000
.TextInput.Default = "Formularfeld " & Str(I)
End With
Loop
End With
objMerk.Select
End Sub
Stimmt! Leider funktioniert es nicht, doch möglicherweise benutze ich das Makro falsch. Ich suche im Prinzip nach fünf Leerstellen und in der SuchenErsetzen-Funktion müsste ich nach einem Mustervergleich suchen. Wo in Deinem Makro müsste ich das unterbringen?
Solltest Du keine weitere Lösung wissen, möchte ich mich dennoch für Deine Mühe bedanken!
Passe die Konstante ksSuche an. Einen Mustervergleich brauchst du m.E. nicht. Zusätzlich kannst du aber den Bereich des´Textformularfeldes speziell formatieren (z.B. mit neutraler Zeichen-FV) und danach zusätzlich suchen.
Wenn du unbedingt auf die Kombi Ff-Felder / Seriendruck setzen willst, wäre es vielleicht sinnvoller, sich die Inhalte der Ff-Felder vor dem Seriendruck zu merken um sie danach rekonstruieren zu können.