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