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


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

Представляет коллекцию всех объектов MailMergeDataSource в активном документе Microsoft Publisher, каждый из которых представляет один из источников данных в операции слияния.

Замечания

По умолчанию элементом коллекции MailMergeDataSources является метод Item , который возвращает объект MailMergeDataSource в указанной позиции индекса.

Если в активном документе есть только один объект MailMergeDataSource , коллекция MailMergeDataSources пуста. В этом случае при попытке получить значение свойства DataSources объекта MailMergeDataSource , Publisher возвращает ошибку.

Пример

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

Если подключен один или несколько источников данных, макрос использует свойство Count коллекции MailMergeDataSources , чтобы определить, сколько источников данных подключено.

Если подключен только один источник данных, макрос выводит имя этого источника данных в окне Интерпретация. Если подключено несколько источников данных, метод Item используется для итерации коллекции, а свойство Name объекта MailMergeDataSource — для вывода имени каждого подключенного источника данных в окне Интерпретация.

Public Sub MailMergeDataSources_Example() 
 
 Dim pubMailMergeDataSources As Publisher.MailMergeDataSources 
 Dim pubMailMergeDataSource As Publisher.MailMergeDataSource 
 Dim lngCount As Long 
 Dim intCounter As Integer 
 
 If ThisDocument.IsDataSourceConnected Then 
 
 Set pubMailMergeDataSources = ThisDocument.MailMerge.DataSource.DataSources 
 
 lngCount = pubMailMergeDataSources.Count 
 
 If lngCount > 1 Then 
 
 ' More than one data source is connected. 
 For intCounter = 1 To lngCount 
 Debug.Print pubMailMergeDataSources.Item(intCounter).Name 
 Next 
 
 Else 
 
 ' Only one data source is connected. 
 Set pubMailMergeDataSource = ThisDocument.MailMerge.DataSource 
 Debug.Print "Only one data source ("; pubMailMergeDataSource.Name; ") is connected!" 
 
 End If 
 
 Else 
 
 Debug.Print "No data sources are connected!" 
 
 End If 
 
End Sub

Методы

Свойства

См. также

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

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