Método MailMerge.OpenDataSource (Publisher)
Anexa uma fonte de dados à publicação especificada, que se torna a publicação principal se já não for uma.
Sintaxe
expressão. OpenDataSource (bstrDataSource, bstrConnect, bstrTable, fOpenExclusive, fNeverPrompt)
Expressão Uma variável que representa um objeto MailMerge .
Parâmetros
Nome | Obrigatório/Opcional | Tipo de dados | Descrição |
---|---|---|---|
bstrDataSource | Opcional | String | O caminho e nome de arquivo da fonte de dados. Você pode especificar um arquivo microsoft query (.qry) em vez de especificar uma fonte de dados, uma cadeia de conexão e uma cadeia de caracteres de nome de tabela; valores em um arquivo da Microsoft Query substituem valores para bstrConnect e bstrTable. |
bstrConnect | Opcional | String | Uma sequência de conexão. |
bstrTable | Opcional | String | O nome da tabela na fonte de dados. |
fOpenExclusive | Opcional | Long | True para negar o acesso ao banco de dados a outras pessoas. False permite que outras pessoas permissão para o banco de dados de leitura/gravação. O valor padrão é False. |
fNeverPrompt | Opcional | Long | True nunca avisa ao abrir a fonte de dados. False exibe a caixa de diálogo Propriedades do Link de Dados . O valor padrão é False. |
Comentários
[!OBSERVAçãO] Se você estiver usando uma fonte de dados para mala direta, você deve adicionar uma área de mesclagem de catálogos à página da publicação antes de anexar à fonte de dados.
Exemplo
Este exemplo anexa uma tabela de um banco de dados e nega acesso de gravação no banco de dados enquanto ele estiver aberto.
Para que este exemplo seja executado corretamente, você deve substituir PathToFile
por um caminho de arquivo válido e TableName
por um nome de tabela de fonte de dados válido.
Sub AttachDataSource()
ActiveDocument.MailMerge.OpenDataSource _
bstrDataSource:="PathToFile", _
bstrTable:="TableName", _
fNeverPrompt:=True, fOpenExclusive:=True
End Sub
Observação
Para TableName
, se uma planilha do Excel estiver sendo aberta, TableName
deve ser seguida por $
. Ou seja, bstrTable:="Sheet1"
não funcionará; bstrTable:="Sheet1$"
funcionará. A seguir está um exemplo que esclarece ainda mais isso.
Neste exemplo, os dados são armazenados em MySpreadSheet.xlsx, Sheet1, no mesmo diretório que o arquivo Publisher.
Dim strDataFile as String
strDataFile = Application.ActiveDocument.Path & "MySpreadSheet.xlsx"
ActiveDocument.MailMerge.OpenDataSource _
bstrDataSource:=strDataFile, _
bstrTable:="Sheet1$", _
fNeverPrompt:=True, fOpenExclusive:=True
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.