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


Метод MailMerge.OpenDataSource (издатель)

Присоединяет источник данных к указанной публикации, которая становится основной публикацией, если она еще не является.

Синтаксис

expression. OpenDataSource (bstrDataSource, bstrConnect, bstrTable, fOpenExclusive, fNeverPrompt)

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

Параметры

Имя Обязательный или необязательный Тип данных Описание
bstrDataSource Необязательный String Путь к источнику данных и имя файла. Вы можете указать файл Microsoft Query (QRY) вместо источника данных, строки подключения и строки имени таблицы. значения в файле Microsoft Query переопределяют значения для bstrConnect и bstrTable.
bstrConnect Необязательный String Строка подключения.
bstrTable Необязательный String Имя таблицы в источнике данных.
fOpenExclusive Необязательный Long Значение true , чтобы запретить другим пользователям доступ к базе данных. Значение False разрешает другим пользователям разрешение на чтение и запись в базе данных. Значение по умолчанию — False.
fNeverPrompt Необязательный Long Значение True никогда не выводит запрос при открытии источника данных. Значение False отображает диалоговое окно Свойства канала данных . Значение по умолчанию — False.

Замечания

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

Пример

В этом примере таблица присоединяется из базы данных и запрещает всем остальным пользователям доступ на запись в базу данных во время ее открытия.

Для правильного выполнения этого примера необходимо заменить PathToFile допустимым путем к файлу и TableName допустимым именем таблицы источника данных.

Sub AttachDataSource() 
 
    ActiveDocument.MailMerge.OpenDataSource _ 
        bstrDataSource:="PathToFile", _ 
        bstrTable:="TableName", _ 
        fNeverPrompt:=True, fOpenExclusive:=True 
 
End Sub

Примечание.

Для TableName, если электронная таблица Excel открывается, TableName за ней должен следовать $. То есть не bstrTable:="Sheet1" будет работать, будет bstrTable:="Sheet1$" работать. Ниже приведен пример, который дополнительно проясняет это.

В этом примере данные хранятся в MySpreadSheet.xlsx, Лист1, в том же каталоге, что и файл Publisher.

Dim strDataFile as String
strDataFile = Application.ActiveDocument.Path & "MySpreadSheet.xlsx"

ActiveDocument.MailMerge.OpenDataSource _ 
    bstrDataSource:=strDataFile, _ 
    bstrTable:="Sheet1$", _ 
    fNeverPrompt:=True, fOpenExclusive:=True 

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

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