Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Serienbrief, jede neue Seite als Datei einzeln speichern

7,934 views
Skip to first unread message

Frank B.

unread,
Jun 4, 2000, 3:00:00 AM6/4/00
to

ich nutze word, um Rechnungen zu erstellen.
jeder Kunde soll seine Rechnung als doc.file
attached an ein email erhalten.

Wie kann ich im Serienbrief einzelne Dateien automatisch erzeugen?

Danke!

Gruß

Frank

Silvia Widmer

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to
Hallo Frank

Du kannst das mit folgendem Makro erreichen:


Gruss
Silvia Widmer


Sub VieleSerienbriefe()
Dim MM As MailMerge
Set MM = ActiveDocument.MailMerge
MM.DataSource.ActiveRecord = wdLastRecord
Anzahl = MM.DataSource.ActiveRecord
For i = 1 To Anzahl
With MM
.DataSource.FirstRecord = i
.DataSource.LastRecord = i
.Execute
ActiveDocument.SaveAs FileName:="SB" & i
ActiveDocument.Close
End With
Next i
End Sub


Cindy Meister -WordMVP-

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to
Hi Silvia,

> Wie kann ich im Serienbrief einzelne Dateien automatisch erzeugen?
>

> Du kannst das mit folgendem Makro erreichen:
>

Nur sehe als Problem, dass die Dateien immer noch mit der Datenquelle
verbunden sind, und wenn die Reihenfolge der Daten sich ändern würde
(es kommen neue Datensätze hinzu, oder welche werden gelöscht), dass
der Inhalt der einzelnen Briefe nicht mehr stimmen würde.

Jemand hat einst vorgeschlagen, den Seriendruck in ein neues Dokument
ausführen zu lassen, und dort über die Zentraldok-Funktion alle Briefe
(Section.Range) als Filialdoks einzeln zu speichern. (Man muss den
ersten Absatz des Haupdokuments mit Ebene 1 formatieren.) Zum Beispiel:

Sub MergeToSubDocs()
Dim MergeDoc As Word.Document
Dim ResultDoc As Word.Document

Set MergeDoc = ActiveDocument
With MergeDoc.MailMerge
If .State = wdMainAndDataSource Then
.Destination = wdSendToNewDocument
.Execute
Else
Exit Sub
End If
End With
Set ResultDoc = ActiveDocument
MergeDoc.Close SaveChanges:=wdDoNotSaveChanges
AllSectionsToSubDoc ResultDoc
SaveAllSubDocs ResultDoc
ResultDoc.Close SaveChanges:=wdDoNotSaveChanges
End Sub
Sub AllSectionsToSubDoc(ByRef doc As Word.Document)
Dim secCounter As Long

For secCounter = doc.Sections.Count - 1 To 1 Step -1
doc.Subdocuments.AddFromRange doc.Sections(secCounter).Range
Next secCounter
doc.ActiveWindow.View = wdMasterView
End Sub

Sub SaveAllSubDocs(ByRef doc As Word.Document)
Dim subdoc As Word.Subdocument
Dim newdoc As Word.Document

For Each subdoc In doc.Subdocuments
Set newdoc = subdoc.Open
newdoc.SaveAs FileName:=Left(newdoc.Paragraphs(3).Range.Text, _
Len(newdoc.Paragraphs(3).Range.Text) - 1)
newdoc.Close
Next subdoc
End Sub


Cindy Meister
INTER-Solutions, Switzerland
http://homepage.swissonline.ch/cindymeister
http://go.compuserve.com/MSOfficeForum

Rückfragen & Antworten nur in der Newsgroup, bitte!


Frank B.

unread,
Jun 12, 2000, 3:00:00 AM6/12/00
to
ich nutze word, um Rechnungen zu erstellen.
jeder Kunde soll seine Rechnung als doc.file
attached an ein email erhalten.

Wie kann ich im Serienbrief einzelne Dateien automatisch erzeugen?

Danke!

Gruß

Frank


Thomas Löwe [MS MVP Word]

unread,
Jun 12, 2000, 3:00:00 AM6/12/00
to
Hallo,

> ich nutze word, um Rechnungen zu erstellen.
> jeder Kunde soll seine Rechnung als doc.file
> attached an ein email erhalten. Wie kann ich
> im Serienbrief einzelne Dateien automatisch
> erzeugen?

gehe bitte wie folgt vor:

1) Nach Erstellen des Seriendruckhauptdokumentes, gib dieses über "Extras,
Seriendruck, Ausführen, Seriendruck in Neues Dokument" in ein "Neues
Dokument" aus.

2) Du kannst mit einer Makrolösung in dem neuen Dokument die in Abschnitte
ausgebenden Dokumente in einzelnen Dateien speichern. Den VBA-Code und
weitere Informationen hierzu findest du in einem Artikel in der Microsoft
Knowledge Base:

WD97: How to Save Each Section of Doc As Separate File [Q216201]
http://support.microsoft.com/support/kb/articles/q216/2/01.asp

Lass uns wissen, wenn du weitere Hilfe benötigst. Bitte gib dann auch die
verwendete Version von Microsoft Word an.

--
Schöne Grüße Thomas Löwe [Microsoft MVP Word]
Bitte alle Supportanfragen in die Newsgroup stellen.
Microsoft KB: englisch: http://support.microsoft.com/support/search/
Microsoft KB: deutsch : http://search.microsoft.com/germany/supportkb

Thomas Löwe [MS MVP Word]

unread,
Jun 12, 2000, 3:00:00 AM6/12/00
to

Frank B.

unread,
Jun 12, 2000, 3:00:00 AM6/12/00
to
vielen Dank, das funktioniert gut!

Zum Feintuning:

Wie bringe ich ihn dazu ein bestimmtes Template zu nutzen
und wie kann ich den Code aktivieren, ohne das jeweilige
File öffnen zu müssen. (in der Code Beschreibung steht, dass
es im Hintergund ausgeführt werden kann)

Danke!

Gruß

Frank


Thomas Löwe [MS MVP Word] <suppor...@young-world.com> schrieb in im
Newsbeitrag: eAGphGI1$GA....@cppssbbsa02.microsoft.com...

Silvia Widmer

unread,
Jun 13, 2000, 3:00:00 AM6/13/00
to
Hallo Frank

Sag mal, nutzt bzw.,. probierst Du die Vorschläge welche man Dir hier macht
eigentlich aus, oder sammelst Du diese nur wie andere Briefmarken?

Du hast jetzt schon vier Lösungswege.

Die beiden Lösungsvorschläge, welche Thomas Dir indirekt macht, gehen davon
aus, dass Du das Resultat des Serienbriefes mit einem diesem Makro
bearbeitest.


Gruss
Silvia Widmer

Cindy Meister -WordMVP-

unread,
Jun 13, 2000, 3:00:00 AM6/13/00
to
Hi Frank,

> ich nutze word, um Rechnungen zu erstellen.
> jeder Kunde soll seine Rechnung als doc.file
> attached an ein email erhalten.
>

Wenn Du als Seriendruck Ziel "Elektronische E-mail" wählst, und im
Setup dialog das Kontrollkästchen "Attachment" aktivierst, soll
als Ergebnis jedes Dokument als Attachment zu einer Email an die E-mail
Adresse erstellt werden.

0 new messages