Envie uma planilha usando VBA no Microsoft Excel

Anonim

Neste artigo, criaremos uma macro para enviar uma planilha como anexo de um e-mail.

Antes de executar a macro, precisamos especificar uma id de email e assunto do email.

Neste exemplo, queremos enviar “DataSheet” como um anexo no e-mail.

Explicação lógica

Criamos a macro “MailSheet”, que pega o id do email e o assunto do email das caixas de texto. Ele cria uma nova cópia do “DataSheet”, salva e envia como anexo.

Explicação do código

Planilhas ("DataSheet"). Copiar

O código acima é usado para criar uma cópia de “DataSheet” em uma nova pasta de trabalho.

ActiveWorkbook.SaveAs "Part of" & ThisWorkbook.Name _

& "" & StrDate & ".xls"

O código acima é usado para salvar a nova pasta de trabalho.

ActiveWorkbook.SendMail EmailID, MailSubject

O código acima é usado para enviar a pasta de trabalho ativa como um anexo para a id de e-mail especificada, com o assunto fornecido.

ActiveWorkbook.Close False

O código acima é usado para fechar a pasta de trabalho ativa sem salvá-la.

Siga abaixo para o código

 Sub MailSheet () 'Declarando variáveis ​​Dim StrDate, EmailID, MailSubject As String' Obtendo valor para ID de e-mail e assunto de caixas de texto EmailID = Planilha1.TextBox1.Value MailSubject = Planilha1.TextBox2.Value 'Copiando "Planilha de dados" para uma nova planilha de trabalho (" DataSheet "). Copiar 'Formatação de data e hora para um formato específico StrDate = Format (Date," dd-mm-yy ") &" "& Format (Time," h-mm ")' Salvando a pasta de trabalho ativa com o novo nome ActiveWorkbook. SaveAs "Part of" & ThisWorkbook.Name _ & "" & StrDate & ".xls" 'Sending mail ActiveWorkbook.SendMail EmailID, MailSubject' Fechar a pasta de trabalho ativa ActiveWorkbook.Close False End Sub 

Se você gostou deste blog, compartilhe com seus amigos no Facebook. Além disso, você pode nos seguir no Twitter e no Facebook.

Gostaríamos muito de ouvir de você, diga-nos como podemos melhorar nosso trabalho e torná-lo melhor para você. Escreva para nós no site de e-mail