Seriendruckausgabe in neues Dokument

20/03/2009 - 19:18 von Michael Ewen | Report spam
Hallo zusammen,

wenn ich per VBA ein Serienbriefdokument in eine neue Datei ausgebe, wie
komme ich dann an den Namen dieser neuen Datei?

Ausgabe:

With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.MailAsAttachment = False
.MailAddressFieldName = vbNullString
.MailSubject = vbNullString
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
Call .Execute(Pause:=True)
End With

Muss ich mir die Namen aller vor der Aktion geöffneten Dokumente merken und
dann vergeichen mit den Namen der nach der Aktion geöffneten Dokumente oder
geht das auch einfacher?

Danke schon mal, Micha
 

Lesen sie die antworten

#1 Thomas Gahler
20/03/2009 - 21:48 | Warnen spam
Hallo Michael


wenn ich per VBA ein Serienbriefdokument in eine neue Datei ausgebe, wie
komme ich dann an den Namen dieser neuen Datei?

Ausgabe:

With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
[...]
Call .Execute(Pause:=True)


dim doc as word.document
Set doc = Documents(1)
End With




Ich hab ein wenig getestet. So wie es aussieht wir das neue Dokument immer
die Nummer 1 in der Documents-Auflistung. Deshlab kannst du wohl
- Set doc = Documents(1)
verwenden. Doch ob das in allen Word-Versionen immer klappt weiss ich nicht.
Wenn du sichergehen willst, dann musst du wohl die offen Dokuemnet vorher
kennen. Ich habe nichts gefunden, dass die ein .Document-Objekt zurück gibt.



Thomas Gahler
MVP für Word
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows Vista (SP1), Office 2007 (SP?)

Ähnliche fragen