Compartilhar via


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.