MS Office Word - Seiten einzeln speichern (Serienbrief)

Usi

Cadet 4th Year
Registriert
Nov. 2019
Beiträge
110
Hallo

Wenn ich in Word einen Serienbrief erstelle (ich nutze diese Funktion um Datenbankinhalte einzufügen für alle möglichen Formulare, nicht nur direkt Briefe an sich), wie krieg ich es hin dass jeder Brief/Kunde separat gespeichert wird? Ich kann ja alle zusammenführen, dann hab ich alle in einer langen scrollbaren Worddatei. Aktuell hab ich auf jeder Seite n neues Formular und es soll alles separat gespeichert werden (jeder Kunde hat sein eigenes Verzeichnis wo eben auch dann sein Dokument liegen soll).

Kann ja nicht sein dass ich jetzt jedes Blatt umständlich selbst einzeln abspeichern muss, oder?
Die Projektdatei (mit Anbindung in die Datenbank) wäre auch noch vorhanden, bzw. schnell neu erstellbar.

Grüße
Usi

Office: MS Office 2019
System: Win 10 (Mac mit MS Office Mac wäre auch möglich, weiß aber nicht welche Version)
 
Die Serienbrieffunktion geht, wie der Name schon sagt, von richtigen "Briefen" aus, die du druckst. Deshalb ist das so nicht vorgesehen.
Es gibt aber im Web zig Anleitungen, wie du z. B. mit VBA das Problem umschiffen kannst.
 
Hatten wir nicht kürzlich einen Fall wo das mit VBA auch nicht recht klappte..?
CN8
 
Ich hab keine Ahnung von VBA und wer weiß wie lange ich mich damit beschäftigen muss. Am Ende bin ich nicht weiter als vorher (wäre nicht das erste Mal) wenn man ahnungslos herumdoktert und hab nur Arbeitszeit verplempert die ich nachholen muss.

Dachte es gibt n schnellen und einfachen Weg. Wie bei PDF.

Hab das jetzt dort gemacht: https://products.aspose.app/words/splitter
Dauerte nur paar Sekunden und die Einzelseiten gabs gepackt zum runterladen.
 
Hallo,

gehe bei Sendungen auf Fertig stellen und zusammenführen -> Einzelne Dokumente bearbeiten.
Die neune Worddatei mit allen "Briefen" öffnet sich und füge diesen Code in den Entwicklertools im Visual Basic Editor -> Einfügen -> Modul ein.
Dann auf Ausführen -> Makro ausführen. Es wird jede Seite einzeln gespeichert.

Sub Seitenspeichern()
Dim oPages, Counter
'
ActiveDocument.Repaginate
oPages = ActiveDocument. _
BuiltInDocumentProperties _
(wdPropertyPages)
'MsgBox oPages
Counter = 0
'
For i = 1 To oPages
Dim pRange As Range
Counter = Counter + 1
Selection.GoTo What:=wdGoToPage, _
Which:=wdGoToNext, Name:=CStr(i)
Set pRange = _
ActiveDocument.Bookmarks("\Page").Range
pRange.Select
pRange.Copy
'
DocName = ActiveDocument.Name & "-Seite" & Format(Counter)
Documents.Add
Selection.PasteAndFormat (wdPasteDefault)
'
ActiveDocument.SaveAs _
FileName:=DocName & ".doc", _
AddToRecentFiles:=False
ActiveDocument.Close
Next
'
Selection.Collapse
End Sub


Wie man es bei zwei oder mehr Seiten pro "Brief" macht weis ich leider nicht, suche da schon länger nach.
 
Interessant. Ich war nämlich im Geiste an der Stelle, dass jeder einzelne Brief sofort ausgeworfen wird, ohne das fertige Dokument abzuwarten.
Da auch hier Copy und Paste verwendet werden (wiederum Maßnahmen die mir vom Konzept her nicht zusagen) müsste sich der zu kopierende Range über mehr als die eine Seite spreizen lassen?!

CN8
 
Zurück
Oben