Объект 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 и обратная связь.