Поделиться через


Объект EmailMergeEnvelope (Издатель)

Представляет контейнер электронной почты (конверт), содержащий документ Издателя Майкрософт, объединенный в слияние.

Замечания

Свойства объекта EmailMergeEnvelope соответствуют сочетанию обязательных и необязательных параметров в диалоговом окне Слияние с Email пользовательского интерфейса издателя (в меню Файл наведите указатель мыши на пункт Отправить Email, выберите Отправить Email объединить, а затем выберите Параметры).

Прежде чем использовать метод Execute объекта MailMerge для отправки объединенного сообщения электронной почты, необходимо указать значение для свойства To объекта EmailMergeEnvelope , в противном случае издатель вернет ошибку.

Пример

В следующем макросе Microsoft Visual Basic для приложений (VBA) показано, как назначить некоторые свойства объекта EmailMergeEnvelope, представляющего слияние, а затем отправить полученное сообщение электронной почты( приглашение). Макрос подключается к источнику данных, присваивает значения свойствам To и Subject объекта EmailMergeEnvelope и добавляет текстовое поле, содержащее поля слияния и дополнительный текст в сообщение электронной почты. Затем он использует метод Execute объекта MailMerge для выполнения слияния и отправки сообщения электронной почты.

Источник данных, на который ссылается в этом примере, представляет собой простой текстовый файл с разделителями табуляции, который содержит три столбца с заголовками First, Last и Email Address соответственно.

Перед выполнением кода создайте текстовый файл, добавьте одну или несколько строк данных, присвойте файлу имя DataSource.txt и сохраните его на диск. Добавьте путь к файлу в код, заменив переменную PathToFile своим путем.

Если выполнить код в этом примере несколько раз, возникнут ошибки, так как Publisher подключается к источнику данных каждый раз при выполнении кода, что приводит к публикации, подключенной к нескольким источникам данных. Если существует несколько подключений к источнику данных, издатель вставляет дополнительный столбец в главный (объединенный) источник данных слияния, чтобы указать конкретный источник данных для каждой записи. В результате издатель фактически изменяет номер индекса всех столбцов источника данных, делая индексы, используемые в этом коде (например, MailMergeField1), неправильными.

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

Свойства

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.