Freigeben über


EmailMergeEnvelope-Objekt (Publisher)

Stellt den E-Mail-Container (Umschlag) dar, der das Microsoft Publisher-Dokument enthält, das in einem Seriendruck zusammengeführt wird.

Hinweise

Die Eigenschaften des EmailMergeEnvelope-Objekts entsprechen der Kombination aus erforderlichen und optionalen Einstellungen im Dialogfeld Merge to Email auf der Publisher-Benutzeroberfläche (zeigen Sie im Menü Datei auf Email senden, wählen Sie Senden Email Zusammenführen aus, und wählen Sie dann Optionen aus).

Bevor Sie die Execute-Methode des MailMerge-Objekts verwenden können, um eine zusammengeführte E-Mail zu senden, müssen Sie einen Wert für die To-Eigenschaft des EmailMergeEnvelope-Objekts angeben, andernfalls gibt Publisher einen Fehler zurück.

Beispiel

Das folgende VBA-Makro (Microsoft Visual Basic for Applications) zeigt, wie Sie einige der Eigenschaften eines EmailMergeEnvelope-Objekts zuweisen, das einen Seriendruck darstellt, und dann die resultierende E-Mail-Nachricht, eine Einladung, senden. Das Makro stellt eine Verbindung mit einer Datenquelle her, weist den Eigenschaften An und Subject des EmailMergeEnvelope-Objekts Werte zu und fügt der E-Mail-Nachricht ein Textfeld mit Seriendruckfeldern und zusätzlichem Text hinzu. Anschließend wird die Execute-Methode des MailMerge-Objekts verwendet, um den Seriendruck auszuführen und die E-Mail zu senden.

Die Datenquelle, auf die in diesem Beispiel verwiesen wird, ist eine einfache Textdatei mit Tabstopptrennzeichen, die drei Spalten mit den Überschriften First, Last und Email Address enthält.

Erstellen Sie vor dem Ausführen des Codes die Textdatei, fügen Sie eine oder mehrere Zeilen mit Datenzeilen hinzu, benennen Sie die Datei "DataSource.txt", und speichern Sie sie auf dem Datenträger. Fügen Sie dem Code den Pfad der Datei hinzu, indem Sie die PathToFile-Variable durch Ihren Pfad ersetzen.

Wenn Sie den Code in diesem Beispiel mehrmals ausführen, treten Fehler auf, da Publisher bei jeder Ausführung des Codes eine Verbindung mit der Datenquelle herstellt, was zu einer Veröffentlichung führt, die mit mehreren Datenquellen verbunden ist. Wenn mehrere Datenquellenverbindungen vorhanden sind, fügt Publisher eine zusätzliche Spalte in die master (kombinierte) Seriendruck-Datenquelle ein, um die spezifische Datenquelle für jeden Datensatz anzugeben. Daher ändert Publisher effektiv die Indexnummer aller Datenquellenspalten, sodass die in diesem Code verwendeten Indizes (z. B. MailMergeField1) falsch sind.

Public Sub EmailMergeEnvelope_Example() 
 
 Dim pubShape As Publisher.Shape 
 Dim pubMailMerge As Publisher.MailMerge 
 
 'Connect to the data source. 
 Set pubMailMerge = ThisDocument.MailMerge 
 pubMailMerge.OpenDataSource "PathToFile \DataSource.txt" 
 
 'Assign "Email Address" to the To field of the email message. 
 pubMailMerge.EmailMergeEnvelope.To = pubMailMerge.DataSource.DataFields.Item(3) 
 
 'Add text to the Subject field of the email message. 
 pubMailMerge.EmailMergeEnvelope.Subject = "Invitation" 
 
 'Insert two merge fields and some additional text in a text box in the body of the message. 
 Set pubShape = ThisDocument.Pages(1).Shapes.AddTextbox(pbTextOrientationHorizontal, 100, 100, 200, 100) 
 pubShape.TextFrame.TextRange.Text = "Dear " 
 pubShape.TextFrame.TextRange.InsertMailMergeField 1 
 pubShape.TextFrame.TextRange.InsertAfter " " 
 pubShape.TextFrame.TextRange.InsertMailMergeField 2 
 pubShape.TextFrame.TextRange.InsertAfter ": " 
 pubShape.TextFrame.TextRange.InsertAfter "You are invited!" 
 
 'Perform the merge. 
 pubMailMerge.Execute True, pbSendEmail 
 
 'Display a reminder 
 MsgBox "If your email client is not already open, remember to open it and send the email messages that are in the outbox." 
 
End Sub

Eigenschaften

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.