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

Como enviar e-mail com vários anexos anexados no Excel?

Este artigo fala sobre como enviar um e-mail pelo Outlook com vários anexos anexados no Excel.

Enviar e-mail com vários anexos anexados no Excel com código VBA


Enviar e-mail com vários anexos anexados no Excel com código VBA

Faça o seguinte para enviar um e-mail com vários anexos anexados em Excel.

1. Insira um botão de comando clicando em Desenvolvedor > inserção > Botão de comando (controle ActiveX). Veja a imagem:

2. Após inserir o botão de comando, clique com o botão direito e selecione Ver código no menu de contexto.

3. Na abertura Microsoft Visual Basic para Aplicações janela, por favor clique Ferramentas > Referência como a imagem abaixo mostrada.

4. No Referências - VBAProject caixa de diálogo, localize e verifique o Biblioteca de objetos do Microsoft Outlook opção e, em seguida, clique no OK botão.

5. Em seguida, substitua o código original na janela Código pelo código VBA abaixo.

Código VBA: enviar e-mail anexado com vários anexos no Excel

Private Sub CommandButton1_Click()
    Dim xStrFile As String
    Dim xFilePath As String
    Dim xFileDlg As FileDialog
    Dim xFileDlgItem As Variant
    Dim xOutApp As Outlook.Application
    Dim xMailOut As Outlook.MailItem
    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
    If xFileDlg.Show = -1 Then
        With xMailOut
            .BodyFormat = olFormatRichText
            .To = "happy.xuebi@163.com"
            .Subject = "test"
            .HTMLBody = "test"
            For Each xFileDlgItem In xFileDlg.SelectedItems
                .Attachments.Add xFileDlgItem
            Next xFileDlgItem
            .Display
        End With
    End If
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

Anote os: especifique o destinatário, assunto e corpo do e-mail, alterando a variável em .To = happy.xuebi@163.com, .Subject = "teste" Chanel .HTMLBody = "teste" linhas no código.

6. aperte o outro + Q chaves juntas para sair do Microsoft Visual Basic para Aplicações janela.

7. Clique Desenvolvedor > Modo de design para desligar o modo Design. Veja a imagem:

8. Clique no botão de comando para executar o código. No surgimento Procurar janela, selecione os arquivos que você precisa para anexar ao e-mail e clique no OK botão. Veja a imagem:

9. Em seguida, um e-mail é criado com campos especificados e anexos listados. Por favor clique no ENVIAR botão para enviá-lo. Veja a imagem:

Anote os: O código VBA só funciona quando você usa o Outlook como seu programa de e-mail.


Envie e-mails facilmente pelo Outlook com base nos campos da lista de e-mails criada no Excel:

O Mande emails utilidade de Kutools for Excel ajuda os usuários a enviar e-mail através do Outlook com base na lista de mala direta criada no Excel.
Baixe e experimente agora! (30- dia de trilha livre)



Artigos relacionados:


As melhores ferramentas de produtividade para escritório

Kutools for Excel Resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2021 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos de avaliação gratuita de 30 dias. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
parte inferior da aba do escritório
Comentários (14)
Avaliado 5 fora do 5 · classificações 1
Este comentário foi feito pelo moderador no site
Eu sou capaz de "enviar e-mail rapidamente com vários anexos anexados no Excel com Kutools for Excel" usando as etapas acima, mas gostaria de dar um passo adiante e personalizar cada e-mail inserindo seus nomes (de uma coluna na planilha do Excel) no corpo do e-mail. No corpo do e-mail, tento selecionar o campo e clicar em "Inserir espaço reservado", mas nada acontece. Alguma ideia de por que ou como posso corrigir isso? Obrigado!
Este comentário foi feito pelo moderador no site
E se os arquivos acima estiverem localizados em subpastas? Como procurar um arquivo na pasta e subpastas?
Este comentário foi feito pelo moderador no site
E se vários usuários diferentes e anexos diferentes forem enviados com uma linha de assunto diferente.
Este comentário foi feito pelo moderador no site
o código acima funciona perfeitamente obrigado!! mas minha assinatura automática de e-mail parece desaparecer com este código. alguma ideia porque?
Este comentário foi feito pelo moderador no site
HI Team .... não consigo ver o anexo no e-mail, então se eu seguir o seu passo ... você pode ajudar por favor
Este comentário foi feito pelo moderador no site
Excelente...... Funciona perfeitamente.
Este comentário foi feito pelo moderador no site
Gostei de trabalhar com esta solução para adicionar vários anexos a um e-mail de dentro do Excel VBA. Obrigado. Sei que muitos de nós nos beneficiamos e queremos algum aspecto personalizado exatamente para o que estamos tentando fazer. Não sou diferente, mas para a etapa 8. Podemos definir o caminho que o Procurar janela será aberta com? Eu posso navegar para outra pasta em um local diferente, mas se eu pudesse definir o caminho, isso economizaria tempo.
Este comentário foi feito pelo moderador no site
Olá,
Me gustaría saber como quedaría la macro si quisiera enviar em un mismo correo a varias personas o más y con varios ficheros o más.
Muito obrigado.
Este comentário foi feito pelo moderador no site
É ele ook mogelijk om een ​​filter te zetten op de selectie van de bijlagen, zodat er alleen pdf-bestanden aan de mail kunnen worden toegevoegd?
Este comentário foi feito pelo moderador no site
Olá Alex de Graaf,
O código chama diretamente a janela de seleção de arquivos da Microsoft. Isso torna mais fácil para os usuários do VBA selecionar os arquivos necessários.
Este comentário foi feito pelo moderador no site
Olá Cristal,

Sim eu entendo isso. No entanto, quero que os usuários só possam selecionar arquivos pdf.
Isso é possível?
Este comentário foi feito pelo moderador no site
Olá Alex de Graaf,
O código VBA a seguir lista apenas os arquivos PDF na janela Procurar. Por favor, tente.

Private Sub CommandButton1_Click()
'Updated by Extendoffice 20220714
    Dim xStrFile As String
    Dim xFilePath As String
    Dim xFileDlg As FileDialog
    Dim xFileDlgItem As Variant
    Dim xOutApp As Outlook.Application
    Dim xMailOut As Outlook.MailItem
    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
    xFileDlg.Filters.Add "PDF", "*.pdf", 1
xFileDlg.FilterIndex = 1
    If xFileDlg.Show = -1 Then
        With xMailOut
            .BodyFormat = olFormatRichText
            .To = "happy.xuebi@163.com"
            .Subject = "test"
            .HTMLBody = "test"
            For Each xFileDlgItem In xFileDlg.SelectedItems
                .Attachments.Add xFileDlgItem
            Next xFileDlgItem
            .Display
        End With
    End If
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub
Este comentário foi feito pelo moderador no site
Olá Cristal,
Sim, eu entendo isso. No entanto, é possível restringir os usuários a apenas selecionar arquivos pdf?
Este comentário foi feito pelo moderador no site
أريد إرسال بريد إلكتروني مع البريد أو hotmail مع CDO ولكن كل ما لدي فقط مع مرفق واحد ولكن أريد أن أرسل مع العديد من المرفقات يرجى إرسال لي عن طريق بريدي الإلكتروني الرمز أو ملف Excel naims62@hotmail.com
Avaliado 5 fora do 5
Não há comentários postados aqui ainda

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