Para enviar e-mails do Microsoft Excel requer apenas alguns scripts simples. Adicione essa funcionalidade às suas planilhas e você poderá realmente aprimorar o que pode realizar no Excel.
Cobrimos muitas macros excelentes do Excel, que podem realizar as mesmas coisas que os scripts VBA, mas sem a necessidade de conhecimento de programação. Mas há muitas coisas avançadas que você só pode fazer com o VBA, como criar um relatório de planilha com todas as informações do seu PC.
Prefere assistir a este tutorial em vídeo? Estamos protegendo você!
Por que enviar e-mail do Excel?
Existem muitos motivos pelos quais você pode querer enviar um e-mail de dentro do Microsoft Excel.
Talvez você tenha uma equipe que atualiza documentos ou planilhas semanalmente e gostaria de receber uma notificação por e-mail quando essas atualizações forem concluídas. Ou você pode ter uma planilha de contatos e deseja enviar um e-mail para todos eles de uma vez.
Você provavelmente está pensando que criar um script de transmissão de e-mail do Excel será complicado. Esse não é o caso.
A técnica neste artigo fará uso de um recurso que está disponível no Excel VBA há muito tempo, Objetos de Dados de Colaboração (CDO).
CDO é um componente de mensagem usado no Windows desde as primeiras gerações do sistema operacional. Ele costumava ser chamado de CDONTS e, com o advento do Windows 2000 e XP, foi substituído por 'CDO para Windows 2000'. Este componente já está incluído na instalação do VBA no Microsoft Word ou Excel e está pronto para uso.
O uso do componente torna o envio de e-mails de produtos Windows com VBA extremamente fácil. Neste exemplo, você usará o componente CDO no Excel para enviar um e-mail que entregará os resultados de uma célula específica do Excel.
Etapa 1: Criar uma macro VBA
A primeira etapa é ir para a guia Excel Developer.
Dentro da guia Desenvolvedor, clique em Inserir na caixa de controles e selecione um botão de comando.
Desenhe-o na planilha e crie uma nova macro para ele clicando em Macros na faixa de opções do desenvolvedor.
Quando você clica no Crio botão, ele abrirá o editor VBA.
Adicione a referência à biblioteca CDO navegando para Ferramentas > Referências no editor.
Role a lista para baixo até encontrar Microsoft CDO para Windows 2000 Library . Marque a caixa de seleção e clique em OK .
Quando você clica OK , anote o nome da função onde você está colando o script. Você precisará disso mais tarde.
Etapa 2: Configurar os campos 'De' e 'Para' do CDO
Para fazer isso, primeiro você precisa criar os objetos de e-mail e configurar todos os campos necessários para enviar o e-mail.
Lembre-se de que, embora muitos dos campos sejam opcionais, o A partir de e Para os campos são obrigatórios.
música amazon ilimitada vs música prime
Dim CDO_Mail As Object
Dim CDO_Config As Object
Dim SMTP_Config As Variant
Dim strSubject As String
Dim strFrom As String
Dim strTo As String
Dim strCc As String
Dim strBcc As String
Dim strBody As String
strSubject = 'Results from Excel Spreadsheet'
strFrom = 'rdube02@gmail.com'
strTo = 'rdube02@gmail.com'
strCc = ''
strBcc = ''
strBody = 'The total results for this quarter are: ' & Str(Sheet1.Cells(2, 1))
O legal disso é que você pode criar qualquer string para personalizar uma mensagem de e-mail completa e atribuí-la ao strBody variável.
Reúna os componentes da mensagem usando o E string para inserir dados de qualquer uma das planilhas do Microsoft Excel diretamente na mensagem de e-mail, como mostrado acima.
Etapa 3: Configurar o CDO para usar um SMTP externo
A próxima seção do código é onde você configurará o CDO para usar qualquer servidor SMTP externo para enviar o e-mail.
Este exemplo é uma configuração não SSL por meio do Gmail. O CDO é capaz de SSL, mas isso está fora do escopo deste artigo. Se você precisar usar SSL, este código avançado no Github pode ajudar.
Set CDO_Mail = CreateObject('CDO.Message')
On Error GoTo Error_Handling
Set CDO_Config = CreateObject('CDO.Configuration')
CDO_Config.Load -1
Set SMTP_Config = CDO_Config.Fields
With SMTP_Config
.Item('http://schemas.microsoft.com/cdo/configuration/sendusing') = 2
.Item('http://schemas.microsoft.com/cdo/configuration/smtpserver') = 'smtp.gmail.com'
.Item('http://schemas.microsoft.com/cdo/configuration/smtpauthenticate') = 1
.Item('http://schemas.microsoft.com/cdo/configuration/sendusername') = 'email@website.com'
.Item('http://schemas.microsoft.com/cdo/configuration/sendpassword') = 'password'
.Item('http://schemas.microsoft.com/cdo/configuration/smtpserverport') = 25
.Item('http://schemas.microsoft.com/cdo/configuration/smtpusessl') = True
.Update
End With
With CDO_Mail
Set .Configuration = CDO_Config
End With
Etapa 4: finalizar a configuração do CDO
Agora que você configurou a conexão com o servidor SMTP para enviar o e-mail, tudo que você precisa fazer é preencher os campos apropriados para o Objeto CDO_Mail , e emitir o Mandar comando.
Aqui está como você faz isso:
CDO_Mail.Subject = strSubject
CDO_Mail.From = strFrom
CDO_Mail.To = strTo
CDO_Mail.TextBody = strBody
CDO_Mail.CC = strCc
CDO_Mail.BCC = strBcc
CDO_Mail.Send
Error_Handling:
If Err.Description '' Then MsgBox Err.Description
Não haverá caixas pop-up ou mensagens de alerta de segurança, o que pode acontecer quando você recorre ao uso do objeto de correio do Outlook.
O CDO simplesmente reúne o e-mail e utiliza os detalhes de conexão do servidor SMTP para disparar a mensagem. É a maneira mais fácil de incorporar e-mail em scripts do Microsoft Word ou Excel VBA.
Para conectar seu botão de comando a este script, vá para o editor de código e clique em Folha1 para visualizar o código VBA dessa planilha.
Digite o nome da função onde você colou o script acima.
melhor maneira de aprender microsoft office
Esta é a aparência da mensagem que recebi em minha caixa de entrada:
Observação : Se você receber um erro que diz O transporte falhou ao conectar ao servidor , certifique-se de inserir o nome de usuário, a senha, o servidor SMTP e o número da porta corretos nas linhas de código listadas abaixo Com SMTP_Config .
Vá além e automatize todo o processo
É muito bom poder enviar e-mail do Excel com o toque de um botão. No entanto, você pode querer usar essa funcionalidade regularmente; nesse caso, faria sentido automatizar o processo.
Para fazer isso, você precisará fazer uma alteração na macro. Vá para o Editor do Visual Basic e copie e cole todo o código que montamos.
Em seguida, selecione ThisWorkbook de Projeto hierarquia.
Nos dois campos suspensos na parte superior da janela de código, selecione Livro de exercícios e selecione Abrir na lista suspensa Métodos.
Cole o script de e-mail acima em Sub Workbook_Open () .
Isso executará a macro sempre que você abrir o arquivo do Excel.
Em seguida, abra Agendador de tarefas .
Você vai usar esta ferramenta para pedir ao Windows para abrir a planilha automaticamente em intervalos regulares, momento em que sua macro será iniciada, enviando o e-mail.
Selecione Criar Tarefa Básica ... de Açao menu e trabalhe seu caminho através do assistente até chegar ao Açao tela.
Selecione Comece um programa e clique Próximo .
Use o Navegar botão para encontrar a localização do Microsoft Excel em seu computador, ou copie e cole o caminho no Programa / roteiro campo.
Em seguida, insira o caminho para o seu documento do Microsoft Excel no Adicionar argumentos campo.
Conclua o assistente e sua programação estará em vigor.
Vale a pena executar um teste agendando a ação para alguns minutos no futuro e, em seguida, corrigir a tarefa assim que puder confirmar que está funcionando.
Observação : Pode ser necessário ajustar as configurações da Central de confiabilidade para garantir que a macro seja executada corretamente.
Para fazer isso, abra a planilha e navegue até Arquivo > Opções > Centro de confiança .
A partir daqui, clique Configurações da Central de confiabilidade , e na próxima tela defina o dial do rádio para Nunca mostre informações sobre conteúdo bloqueado .
Faça o Microsoft Excel trabalhar para você
O Microsoft Excel é uma ferramenta incrivelmente poderosa, mas aprender como aproveitá-lo ao máximo pode ser um pouco intimidante. Se você deseja realmente dominar o software, você precisa ser confortável com VBA , e isso não é tarefa fácil.
como fazer meu próprio filtro snapchat
No entanto, os resultados falam por si. Com um pouco de experiência em VBA, em breve você será capaz de fazer o Microsoft Excel executar tarefas básicas automaticamente, dando a você mais tempo para se concentrar em questões mais urgentes.
Leva tempo para construir experiência com o VBA, mas logo você verá os frutos de seu trabalho se puder continuar com ele.
Um ótimo lugar para começar é nosso autoritário tutorial sobre como usar VBA no Excel . Depois de fazer isso, este script simples para enviar e-mails do Excel parecerá uma brincadeira de criança.
Compartilhado Compartilhado Tweet O email Canon vs. Nikon: Qual marca de câmera é melhor?Canon e Nikon são os dois maiores nomes da indústria de câmeras. Mas qual marca oferece a melhor linha de câmeras e lentes?
Leia a seguir Tópicos relacionados- Produtividade
- Programação
- Dicas de e-mail
- Programação
- Programação Visual Basic
- Microsoft Excel
- Dicas do Microsoft Office
Ryan é bacharel em Engenharia Elétrica. Ele trabalhou 13 anos em engenharia de automação, 5 anos em TI e agora é engenheiro de aplicativos. Ex-editor-chefe da MakeUseOf, ele palestrou em conferências nacionais sobre visualização de dados e foi apresentado na TV e no rádio nacionais.
Mais de Ryan DubeAssine a nossa newsletter
Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!
Clique aqui para se inscrever