Ir ao conteúdo
  • Cadastre-se

Enviar E-mail por Excel


Posts recomendados

Boa noite pessoal, tudo bom?!

Poderiam me ajudar com uma macro? :D

 

 

 

Na minha planilha em anexo, preciso atribuir ao botão "Enviar E-mail Salvar Controle", o comando de salvar o que ta escrito em um banco de dados (já está OK), e enviar apenas a aba "4D" anexa para um e-mail x com cópia para 2 emails y que constam na Aba "Regras". O nome do arquivo anexo terá como nome o conteúdo da célula "AQ2" & " - "& "B9" e o assunto do e-mail também,(assunto de acordo com aba "Regras".

 

No corpo do email tera a mensagem = "Segue CCMS para tratativa .. ", conforme aba "Regras"

 

 

Nota: Pelo o que tenho lido nos foruns para enviar um arquivo como anexo tem que salvar ele e depois apaga sozinho.. o caminho pode ser o temp mas programado como ENVIRON, para qlq usuario fazer isso, e o arquivo deve conter o mesmo nome que o assunto e habilitado para macro

 

Nota2= O botão que envia esse formulário "Enviar E-mail Salvar Controle" não pode aparecer para a pessoa que vai receber o e-mail, mas sim, somente o botao "Salvar em PDF".

 

Tem como me ajudar? Pleaseeee

 

Desde já, muito obrigada!

Relatório 4D.xls

Link para o comentário
Compartilhar em outros sites

Macro que salva e gera o e-mail

Sub Save_and_Send()Dim File As String, HTMLBody As StringDim OA As Object, OM As ObjectWith Sheets("4D")    File = Environ("USERPROFILE") & "\Desktop\" & .Range("AQ2") & " - " & .Range("B9") & ".pdf"    HTMLBody = "Bom dia Fulano,<br><br>Em anexo CCMS " & .Range("AQ2") & " para investigação. Prazo para resposta até " & .Range("AC4") & ".<br><br>Atenciosamente,"    Set OA = CreateObject("Outlook.Application")    Set OM = OA.CreateItem(0)    .Range("B2:BB65").ExportAsFixedFormat xlTypePDF, File        With OM            .To = Sheets("Regras").Range("B1").Value            .CC = Sheets("Regras").Range("B2").Value            .Subject = "CCMS: " & Sheets("4D").Range("AQ2") & " - " & Sheets("4D").Range("B9")            .HTMLBody = HTMLBody & "<br>"            .Attachments.Add File            .Display        End WithEnd WithEnd Sub
Link para o comentário
Compartilhar em outros sites

Vou adicionar tudo a um botão. 

 

Para isso ocorrer de forma automática, devo colocar o .Send abaixo do .Display ?

 

 

With Sheets("4D")     =>> Para adicionar nova aba, posso colocar =>> With Sheets("4D") & Sheets("Plan1")
File = Environ("USERPROFILE") & "\Desktop\" & .Range("AQ2") & " - " & .Range("B9") & ".pdf" ==>> Para alterar para xlsm só alterar ".xlsm", porém mais abaixo==>>

 

.Range("B2:BB65").ExportAsFixedFormat xlTypePDF, File

With OM    ==>> teria que alterar certo?>

Link para o comentário
Compartilhar em outros sites

Se for útil clique em curtir.

Sub Save_and_Send()Dim File As String, HTMLBody As StringDim OA As Object, OM As ObjectDim Sh As WorksheetApplication.DisplayAlerts = FalseWith ThisWorkbook.Sheets("4D")    File = Environ("USERPROFILE") & "\Desktop\" & .Range("AQ2") & " - " & .Range("B9") & ".xlsm"    HTMLBody = "Bom dia Fulano,<br><br>Em anexo CCMS " & .Range("AQ2") & " para investigação. Prazo para resposta até " & .Range("AC4") & ".<br><br>Atenciosamente,"    Set OA = CreateObject("Outlook.Application")    Set OM = OA.CreateItem(0)    Workbooks.Add        For Each Sh In ActiveWorkbook.Worksheets            If Sheets.Count = 1 Then                Sh.Name = " "                    Else                Sh.Delete            End If        Next    ThisWorkbook.Sheets("Plan1").Copy Before:=ActiveWorkbook.Sheets(1)    .Copy Before:=ActiveWorkbook.Sheets(1)    ActiveWorkbook.SaveAs File, 52    ActiveWorkbook.Close        With OM            .To = Sheets("Regras").Range("B1").Value            .CC = Sheets("Regras").Range("B2").Value            .Subject = "CCMS: " & Sheets("4D").Range("AQ2") & " - " & Sheets("4D").Range("B9")            .HTMLBody = HTMLBody & "<br>"            .Attachments.Add File            .Send        End WithEnd WithEnd Sub
  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Minha planilha esta funcionando, mas com um porém:

 

ThisWorkbook.Sheets("Plan1").Copy Before:=ActiveWorkbook.Sheets(1)

 

Esse Plan1 tem uma macro de gerar PDF, que salva no Desktop de qualquer pessoa. Meu arquivo fica em rede, e a pessoa que recebe essa nova planilha gerada pela macro, não tem acesso a rede, portanto, quando vai gerar um PDF, ele acusa que a pessoa não tem acesso a rede!.. Acredito que esteja pegando vínculos. O que posso fazer para resolver isso ?!

 

 

ATT

Link para o comentário
Compartilhar em outros sites

Esse atenderia?

Sub Save_and_Send()Dim File As String, Module As String, HTMLBody As StringDim OA As Object, OM As ObjectDim Sh As WorksheetApplication.DisplayAlerts = FalseWith ThisWorkbook.Sheets("4D")    File = Environ("USERPROFILE") & "\Desktop\" & .Range("AQ2") & " - " & .Range("B9") & ".xlsm"    Module = Environ("USERPROFILE") & "\Desktop\Script.bas"    HTMLBody = "Bom dia Fulano,<br><br>Em anexo CCMS " & .Range("AQ2") & " para investigação. Prazo para resposta até " & .Range("AC4") & ".<br><br>Atenciosamente,"    Set OA = CreateObject("Outlook.Application")    Set OM = OA.CreateItem(0)    ThisWorkbook.SaveAs File, 52        With OM            .To = Sheets("Regras").Range("B1").Value            .CC = Sheets("Regras").Range("B2").Value            .Subject = "CCMS: " & Sheets("4D").Range("AQ2") & " - " & Sheets("4D").Range("B9")            .HTMLBody = HTMLBody & "<br>"            .Attachments.Add File            .Send        End With    ActiveWorkbook.CloseEnd WithEnd Sub
Link para o comentário
Compartilhar em outros sites

Não funcionou, porém fiz o seguinte:

 

ActiveWorkbook.BreakLink Name:= _
            "G:\BRITA-CD_Itapevi\KPI Logistica\CCMS\Controles\Controle Reclamação_ID Logistics_V2.xlsm" _
            , Type:=xlExcelLinks
 
 
Tirei o vínculo assim, mas ao fazer isso, a macro do botao gerar PDF some, sendo assim, agora o problema é: criar dentro dessa macro, uma macro pro botao 1, algo como adicionar(letra azul)(não sei se está correto):
 
ActiveWorkbook.BreakLink Name:= _
            "G:\BRITA-CD_Itapevi\KPI Logistica\CCMS\Controles\Controle Reclamação_ID Logistics_V2.xlsm" _
            , Type:=xlExcelLinks
CommandButton1.Click
             nome = Environ("USERPROFILE") & "\Desktop\" & Sheets("Investigação").Range("AQ2") & " - " & Sheets("Investigação").Range("B9") & ".pdf"
        ActiveSheet.Range("B2:Bb68").ExportAsFixedFormat Type:=xlTypePDF, Filename:=nome
        MsgBox "Verifique sua Área de Trabalho", vbInformation, "Arquivo Salvo com Sucesso!"
 
 
Como faço para adicionar a macro de salvar o PDF no CLique do botão 1, já no meio de uma macro(sem abrir outra macro)(Exemplo acima, não sei se está correto)

Ahh, e como fica o Dim no início da fórmula também, se necessário

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...