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