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.