Note: The other languages of the website are Google-translated. Back to English

Como aplicar um botão para enviar e-mail com o arquivo Word atual anexado? 

Se você precisar enviar uma mensagem de e-mail de um documento do Word através do Outlook e também anexar o arquivo atual do Word, poderá criar um botão de comando e, em seguida, enviar a mensagem clicando neste botão sem abrir o Outlook. Neste artigo, vou apresentar como lidar com isso de forma rápida e fácil.

Aplique um botão para enviar e-mail com o arquivo Word atual anexado


Aplique um botão para enviar e-mail com o arquivo Word atual anexado

Siga os seguintes passos para resolver este trabalho em arquivo Word:

1. Primeiro, você deve criar um botão de comando, clique Desenvolvedor > Ferramentas Legadas > Botão de comando (controle ActiveX), veja a captura de tela:

botão doc para enviar e-mail 1

2. Selecione o botão e clique Propriedades sob a Desenvolvedor guia, no Propriedades painel, digite o texto da legenda que você precisa no Subtítulo campo, veja a captura de tela:

botão doc para enviar e-mail 2

3. Então, feche o Propriedades painel, agora, clique com o botão direito no botão e escolha Ver código, veja a captura de tela:

botão doc para enviar e-mail 3

4. E então, no display Microsoft Visual Basic para Aplicações janela, copie e cole o código abaixo entre os scripts originais, veja a captura de tela:

Dim xOutlookObj As Object
    Dim xEmail As Object
    Dim xDoc As Document
    Application.ScreenUpdating = False
    Set xOutlookObj = CreateObject("Outlook.Application")
    Set xEmail = xOutlookObj.CreateItem(olMailItem)
    Set xDoc = ActiveDocument
    xDoc.Save
    With xEmail
        .Subject = "Fax-data"
        .Body = "This is a test email."
        .To = "yy@addin99.com"
        .Importance = olImportanceNormal
        .Attachments.Add xDoc.FullName
        .Display
    End With
    Set xDoc = Nothing
    Set xEmail = Nothing
    Set xOutlookObj = Nothing
    Application.ScreenUpdating = True

botão doc para enviar e-mail 4

Nota: No código acima, você deve alterar o assunto, corpo do texto ou endereço de envio conforme sua necessidade.

5. Em seguida, salve e feche este código, clique Modo de design para desligar o modo de design. Agora, ao clicar no botão de comando que você criou, um e-mail será criado com o documento do Word atual como anexo, veja a imagem:

botão doc para enviar e-mail 5

6. Por fim, você só precisa clicar ENVIAR botão para enviar esta mensagem.


Ferramentas de produtividade de palavras recomendadas

 

Kutools para Word - Mais de 100 recursos avançados para Word, economize 50% do tempo

  • Operações complicadas e repetidas podem ser executadas com processamento único em segundos.
  • Insira várias imagens em pastas em um documento do Word de uma vez.
  • Mescle e combine vários arquivos do Word em pastas em um na ordem desejada.
  • Divida o documento atual em documentos separados de acordo com o título, quebra de seção ou outros critérios.
  • Converta arquivos entre Doc e Docx, Docx e PDF, coleção de ferramentas para conversões e seleção comuns, e assim por diante ...
Comentários (29)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Estou tentando enviar o email com a linha de assunto sendo o conteúdo de um dos meus campos. Isso é possível?
Este comentário foi feito pelo moderador no site
Hola, me podrían apoyar para que o arquivo seja convertido em PDF e se adjunto ao correo em ves del word por favor.
Muito obrigado.
Este comentário foi feito pelo moderador no site
Olá equipe do Extend Office,

Eu acredito que 'xEmile' está incorreto. Deve ser 'xEmail'.

Enquanto o código é executado e não há problema, a instrução a seguir não fará nada:

Definir xEmail = Nada
Este comentário foi feito pelo moderador no site
Olá, Abi,
Obrigado pelo seu comentário, como você disse, o 'xEmile' está incorreto, deveria ser 'xEmail'. Já atualizei o código.
Mais uma vez obrigado!
Este comentário foi feito pelo moderador no site
Isso pode ser feito para que você envie apenas uma página de um documento?
Este comentário foi feito pelo moderador no site
Olá, Don,
Para lidar com sua tarefa, aplique o código abaixo,no código, você deve alterar a página inicial e a página final para a sua própria:

Sub CommandButton1_Click () particular

Dim xCurPageStart As Long, xCurPageEnd As Long, xCurPageRange As Range

Dim xCurPage como inteiro, xPages como inteiro

Dim xOutlookObj como objeto

Dim xEmail como objeto

Dim xDoc como documento, xNewDoc como documento

Dim xFilePath como string

Dim xOldStart As Long, xOldEnd As Long

On Error Resume Next

Application.ScreenUpdating = False

Set xOutlookObj = CreateObject("Outlook.Application")

Definir xEmail = xOutlookObj.CreateItem(olMailItem)

xFilePath = CreateObject("WScript.Shell").SpecialFolders(16)

Definir xDoc = ActiveDocument

xOldStart = xDoc.Application.Selection.Start

xOldEnd = xDoc.Application.Selection.End

xDoc.Salvar

xFilePath = xFilePath + "\attached file" + VBA.Mid(xDoc.FullName, VBA.InStrRev(xDoc.FullName, ".")) 'Attached file é o nome do arquivo anexo, mude para sua necessidade

xCurPageStart = 2 'página inicial

xCurPageEnd = 2' página final

xPages = Selection.Information(wdNumberOfPagesInDocument)

xCurPageStart = Selection.GoTo(what:=wdGoToPage, Qual:=wdGoToNext, Nome:=xCurPageStart).Start

Se xCurPage = xPages Então

xCurPageEnd = ActiveDocument.Content.End

Outro

xCurPageEnd = Selection.GoTo(what:=wdGoToPage, Qual:=wdGoToNext, Nome:=xCurPageEnd + 1).Start

Se acabar

Definir xCurPageRange = ActiveDocument.Range(xCurPageStart, xCurPageEnd)

xCurPageRange.Select

xCurPageRange.Copy

Definir xNewDoc = Application.Documents.Add(Visible:=False)

xNovoDoc.Ativar

xNewDoc.Content.PasteAndFormat wdFormatOriginalFormatting

xNewDoc.SaveAs2 FileName:=xFilePath

xNovoDoc.Fechar

xDoc.Range(xOldStart, xOldEnd). Selecione

Com xEmail

.Assunto = "Dados de fax"

.Body = "Este é um e-mail de teste."

.To = "aa@addin99.com"

.Importância = olImportânciaNormal

.Anexos.Adicionar xFilePath

.Exibição

Terminar com

VBA.Kill xFilePath

Definir xDoc = Nada

Definir xEmail = Nada

Definir xOutlookObj = Nada

Application.ScreenUpdating = True

End Sub
Este comentário foi feito pelo moderador no site
Eu fiz um formulário preenchível no MS Word. Eu usei ferramentas legadas para cálculo etc. Eu também adicionei um botão de envio que funciona para enviar o formulário para e-mail. O problema é que quando reabro este documento depois de salvar, ele não funciona. Eu até tentei salvá-lo como documento habilitado para macro, mas não adianta. Você pode por favor ajudar ?
obrigado
Este comentário foi feito pelo moderador no site
Eu estava funcionando no começo e, por algum motivo, agora, ele me dá um erro de erro 429 sobre o componente ActiveX não pode criar objeto. eu literalmente só copiei e colei. Isso funcionou antes, mas eu apenas mudei o tamanho da fonte, aumentei o botão e reetiquetei a legenda. eu não acho que acidentalmente alterei algumas outras configurações? alguma ideia do que pode ser?
Este comentário foi feito pelo moderador no site
Oi! Eu gostaria de fazer o botão de comando enviar um email com o documento do Word como corpo do email (meu documento do Word é um formulário). Existe uma maneira de fazer isso?
Este comentário foi feito pelo moderador no site
Eu gostaria que meu documento fosse enviado como um documento PDF em vez de um documento do Word.
Este comentário foi feito pelo moderador no site
Por exemplo, usando texto de uma caixa de texto/campo de texto no documento do Word e inserindo-o como texto na linha de assunto do seu e-mail?
Este comentário foi feito pelo moderador no site
Sim, isso também é o que eu estou atrás, alguém pode ajudar com este pedido?
Este comentário foi feito pelo moderador no site
Isso também funciona para o Lotus Notes?
O que devo mudar no "xOutlookObj"?
Este comentário foi feito pelo moderador no site
Olá escritório Extend,
Podemos definir um e-mail diferente não vinculado ao Outlook? Gosta de e-mail direto para a conta GoDaddy?
Este comentário foi feito pelo moderador no site
Estou tentando descobrir a mesma informação. Eu uso o gmail e preciso criar um formulário para enviar para vários endereços de e-mail diferentes que podem ser enviados automaticamente de volta para minha conta do gmail.
Este comentário foi feito pelo moderador no site
Eu criei o documento, mas meu problema agora é que, se eu enviar este formulário para dizer 4 pessoas para preencher, quando eles o abrirem no anexo de e-mail, ele será aberto no modo somente leitura e, quando clicarem em enviar, solicitará que salvem como antes ele permitirá que o código abra um e-mail endereçado a mim. Existe uma maneira de contornar isso além de fornecer a localização do arquivo?
Este comentário foi feito pelo moderador no site
Você pode adicionar Cco a este código? Eu tentei adicionar Bcc e recebo um erro de compilação para a expressão esperada.
Este comentário foi feito pelo moderador no site
Olá Heather,

Você pode adicionar Cco a este código. Por exemplo, você pode adicionar .Bcc = "zmt@addin99.com" logo abaixo de .To = "yy@addin99.com". Assim o código fica:

Dim xOutlookObj como objeto
Dim xEmail como objeto
Dim xDoc como documento
Application.ScreenUpdating = False
Set xOutlookObj = CreateObject("Outlook.Application")
Definir xEmail = xOutlookObj.CreateItem(olMailItem)
Definir xDoc = ActiveDocument
xDoc.Salvar
Com xEmail
.Assunto = "Dados de fax"
.Body = "Este é um e-mail de teste."
.To = "aa@addin99.com"
.Bcc = "zmt@addin99.com"
.Importância = olImportânciaNormal
.Anexos.Adicionar xDoc.FullName
.Exibição
Terminar com
Definir xDoc = Nada
Definir xEmail = Nada
Definir xOutlookObj = Nada
Application.ScreenUpdating = True

Por favor, veja a imagem em anexo. Tenha um bom dia.
Atenciosamente,
Mandyhttps://www.extendoffice.com/images/stories/comments/comment-zmt/Add_Bcc_to_code.png
Este comentário foi feito pelo moderador no site
Olá pessoal,

Quero aplicar um botão onde clico e envio o documento como e-mail, não como anexo, para um endereço de e-mail. Para que o documento seja o texto do e-mail. Assim como o efeito do botão "enviar para destinatário" na faixa de opções.

Alguém pode me dar o código certo para isso?

Obrigado.
Este comentário foi feito pelo moderador no site
Olá,
Pode ser que o código não possa ajudar a enviar o documento do Word atual como o corpo do e-mail, se fizer isso, a imagem e a formatação do arquivo dentro do documento serão perdidas.
Se você deseja enviar o documento atual como corpo de e-mail, a Mala Direta pode lhe fazer um favor.
Você precisa da mala direta para enviar e-mail?
Se precisar, comente aqui.
Obrigado!
Este comentário foi feito pelo moderador no site
Olá,

obrigado pela ajuda!

Eu tentaria com sua sugestão. Então, sim, eu preciso da mala direta para enviar e-mail.
Este comentário foi feito pelo moderador no site
Olá,

obrigado pela ajuda!

Eu tentaria com sua sugestão. Você poderia me dar o código para mala direta?

Obrigado!
Este comentário foi feito pelo moderador no site
Olá,
Para enviar o documento do Word atual como corpo do e-mail, você pode adicionar o Enviar para Destinatário do Correio comando para o seu QAT, por favor, faça o seguinte:
1. Abra o arquivo do Word que deseja enviar e clique em Envie o > Opções.
2. No painel esquerdo, selecione Barra de Ferramentas de Acesso Rápido.
3. Selecionar Comandos que não estão na faixa de opções de Escolha comandos de.
4. Escolha e selecione Enviar para Destinatário do Correio e clique no botão Adicionar>>.
5. Clique OK para fechar a caixa de diálogo.
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-send-file-1.png

Agora isso Enviar para Destinatário do Correio comando aparecerá no Barra de Ferramentas de Acesso Rápido na parte superior da janela do Word. Em seguida, você pode inserir as informações relativas no cabeçalho da mensagem. Após finalizar as informações, clique em Envie uma cópia, a mensagem com o documento do word atual como corpo será enviada de uma só vez.

https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-send-file-3.png

Por favor, tente isso, espero que possa ajudá-lo!
Este comentário foi feito pelo moderador no site
Descobri que o botão funciona para abrir um e-mail, mas ao usar mala direta, o botão VBA fica inativo por algum motivo?
Como posso garantir que, quando a mala direta for usada, o botão funcionará para o usuário preencher o formulário e, em seguida, ativar o botão, por favor?
Este comentário foi feito pelo moderador no site
Olá Mike,
Quando uso o recurso de mala direta, o botão fica ativo.
Poderia explicar seu problema com mais detalhes?
Ou você pode enviar seu arquivo aqui, para que possamos verificar onde está o problema.
Obrigado!
Este comentário foi feito pelo moderador no site
Olá Skyyang,

Por favor, veja o post que coloquei abaixo, que tem a cópia em anexo.
Este comentário foi feito pelo moderador no site
Oi,
Consulte o documento anexo abaixo.
Preciso atualizá-lo para o uso das renovações de 2023 e, ao mesclar, o botão parece desabilitado, pois vários membros me disseram que não funciona.

Obrigado,

microfone
Este comentário foi feito pelo moderador no site
Olá Mike,
Eu testei seu arquivo no meu computador, funciona bem. Estou usando o Office 2019. Veja a demonstração abaixo:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/send-doeument.gif
Este comentário foi feito pelo moderador no site
Olá Skyyang,

Descobri que isso funciona quando um usuário tem MS Word, mas parece e-mails como @hotmail; @gmail; e endereços de e-mail @live esses usuários têm problemas em que o botão não funciona?
Parece que também não funciona em smartphones se o usuário confiar em usá-los em vez de um computador.
Por fim, recebi uma resposta de outro usuário usando o Windows 11 em que o botão não funciona.

O que você experimentou com os exemplos acima, por favor?

Obrigado,

microfone
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos

Siga-nos

Copyright © 2009 - www.extendoffice.com. | Todos os direitos reservados. Distribuído por ExtendOffice. | | | Mapa do site
Microsoft e o logotipo do Office são marcas comerciais ou marcas registradas da Microsoft Corporation nos Estados Unidos e / ou em outros países.
Protegido por Sectigo SSL