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


Метод MailMergeDataField.MapToRecipientField (Publisher)

Сопоставляет поле (столбец) в определенном источнике данных, представленном родительским объектом MailMergeDataField , с полем получателя (столбцом) в источнике основных данных (объединенный список получателей при слиянии).

Синтаксис

expression. MapToRecipientField (bstrValue)

Выражение Переменная, представляющая объект MailMergeDataField .

Параметры

Имя Обязательный или необязательный Тип данных Описание
bstrValue Необязательный String Имя поля получателя, с которым должен быть сопоставлен столбец источника данных.

Замечания

Этот метод работает, только если родительский объект MailMergeDataField еще не сопоставлен с полем получателя. Используйте свойство IsMapped , чтобы определить, сопоставлен ли объект.

Если вы не передаете значение для необязательного параметра bstrValue , Microsoft Publisher предполагает, что имя поля для сопоставления совпадает с именем поля получателя в источнике основных данных, с которым оно сопоставлено.

Если передать имя поля, которое не существует, издатель возвращает ошибку.

Примечание.

Чтобы добавить поле, используйте метод AddToRecipientFields .

Пример

В следующем макросе Microsoft Visual Basic для приложений (VBA) показано, как использовать метод MapToRecipientField для сопоставления поля данных (столбца) в определенном источнике данных с полем в источнике основных данных (объединенный список получателей) для публикации.

Перед выполнением этого макроса замените datasourceindex индексным номером допустимого источника данных в коллекции источников данных активного документа, замените fieldname именем поля в источнике данных, которое необходимо сопоставить с полем получателя, и замените recipientfieldname именем поля получателя.

Примечание.

Пример использования свойства Name объекта DataSource для определения номера индекса нужного источника данных см. в методе MailMergeDataSources.Item .

Public Sub Map() 
 
 Dim pubMailMergeDataSources As Publisher.MailMergeDataSources 
 Dim pubMailMergeDataField As Publisher.MailMergeDataField 
 
 Set pubMailMergeDataSources = ThisDocument.MailMerge.DataSource.DataSources 
 Set pubMailMergeDataField = pubMailMergeDataSources.Item(datasourceindex).DataFields.Item("fieldname") 
 
 If pubMailMergeDataField.IsMapped Then 
 
 Debug.Print "This field is already mapped" 
 
 Else 
 
 pubMailMergeDataField.MapToRecipientField ("recipientfieldname") 
 Debug.Print "Field mapped successfully." 
 
 End If 
 
End Sub

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

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