Compartilhar via


Objeto EmailMergeEnvelope (Publisher)

Representa o contêiner de email (envelope) que contém o documento do Microsoft Publisher que é mesclado em uma mesclagem de email.

Comentários

As propriedades do objeto EmailMergeEnvelope correspondem à combinação de configurações necessárias e opcionais na caixa de diálogo Merge to Email na interface do usuário publisher (no menu Arquivo, aponte para Enviar Email, escolha Enviar Email Mesclagem e escolha Opções).

Antes de usar o método Execute do objeto MailMerge para enviar um email mesclado, você deve especificar um valor para a propriedade To do objeto EmailMergeEnvelope ou o Publisher retorna um erro.

Exemplo

A macro do Microsoft Visual Basic for Applications (VBA) a seguir mostra como atribuir algumas das propriedades de um objeto EmailMergeEnvelope que representa uma mesclagem de email e, em seguida, enviar a mensagem de email resultante, um convite. A macro se conecta a uma fonte de dados, atribui valores às propriedades To e Subject do objeto EmailMergeEnvelope e adiciona uma caixa de texto que contém campos de mesclagem e alguns textos adicionais à mensagem de email. Em seguida, ele usa o método Execute do objeto MailMerge para executar a mesclagem e enviar o email.

A fonte de dados referenciada neste exemplo é um arquivo de texto simples delimitado por guias que contém três colunas com os títulos Primeiro, Último e Email Endereço, respectivamente.

Antes de executar o código, crie o arquivo de texto, adicione uma ou mais linhas de dados, denomine o arquivo como DataSource.txt e salve-o em disco. Adicione o caminho do arquivo ao código substituindo a variável PathToFile pelo caminho.

Se você executar o código desse exemplo mais de uma vez, encontrará erros, pois o Publisher é conectado à fonte de dados sempre que você executa o código, resultando em uma publicação conectada a várias fontes de dados. Quando existem várias conexões de fontes de dados, o Publisher insere uma coluna extra na fonte de dados de mala direta mestra (combinada) para indicar a fonte de dados específica para cada registro. Como resultado, o Publisher altera com eficácia o número do índice de todas as colunas da fonte de dados, tornando os índices usados nesse código (por exemplo, MailMergeField1) incorretos.

Public Sub EmailMergeEnvelope_Example() 
 
 Dim pubShape As Publisher.Shape 
 Dim pubMailMerge As Publisher.MailMerge 
 
 'Connect to the data source. 
 Set pubMailMerge = ThisDocument.MailMerge 
 pubMailMerge.OpenDataSource "PathToFile \DataSource.txt" 
 
 'Assign "Email Address" to the To field of the email message. 
 pubMailMerge.EmailMergeEnvelope.To = pubMailMerge.DataSource.DataFields.Item(3) 
 
 'Add text to the Subject field of the email message. 
 pubMailMerge.EmailMergeEnvelope.Subject = "Invitation" 
 
 'Insert two merge fields and some additional text in a text box in the body of the message. 
 Set pubShape = ThisDocument.Pages(1).Shapes.AddTextbox(pbTextOrientationHorizontal, 100, 100, 200, 100) 
 pubShape.TextFrame.TextRange.Text = "Dear " 
 pubShape.TextFrame.TextRange.InsertMailMergeField 1 
 pubShape.TextFrame.TextRange.InsertAfter " " 
 pubShape.TextFrame.TextRange.InsertMailMergeField 2 
 pubShape.TextFrame.TextRange.InsertAfter ": " 
 pubShape.TextFrame.TextRange.InsertAfter "You are invited!" 
 
 'Perform the merge. 
 pubMailMerge.Execute True, pbSendEmail 
 
 'Display a reminder 
 MsgBox "If your email client is not already open, remember to open it and send the email messages that are in the outbox." 
 
End Sub

Propriedades

Confira também

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.