Notifications
Clear all

Envio de Email ( corpo do Email )

8 Posts
2 Usuários
0 Reactions
1,016 Visualizações
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Tenho a seguinte rotina no envio de email ao meu fabricante, esta tudo certinho sem problema algum, so preciso que dentro desta rotina eu possa colocar um corpo na mensagem e o texto está dentro de uma celula "AS 20"

se essa rotina nao der pra fazer o que quero, por favor me de outra pra fica no lugar desta.

 'Rotina enviar por Email

 'Define a Planilha que será enviada por Email. Ex: Plan1, Plan2, Pedidos, etc
 sPlanAEnviar = "PEDIDO GAUER"
 
'Cria um novo arquivo Excel
 Set NovoArquivoXLS = Application.Workbooks.Add
 
 'Copia a Planilha para o novo arquivo criado
 ThisWorkbook.Sheets(sPlanAEnviar).Copy Before:=NovoArquivoXLS.Sheets(1)
 
'Salva o Arquivo
 NovoArquivoXLS.SaveAs ThisWorkbook.Path & "" & sPlanAEnviar & ".xLs"
sExcluirAnexoTemporario = NovoArquivoXLS.FullName

'Envia o email a Gauer
NovoArquivoXLS.SendMail "contato@fazerbem.com.br", "Frete " & [F4].Value, True

'Fecha o Arquivo Novo
NovoArquivoXLS.Close

'Exclui o arquivo criado apenas para ser enviado
Kill sExcluirAnexoTemporario

Grato por mais esta.

Andre

 
Postado : 11/12/2015 3:09 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Pensei em tirar esta rotina e colocar essa aqui, mas acho que tem erro, poderiam acertar pra mim ?

Sub enviaPlanilhaAtiva_Gauer()

Dim oOutlook As Object
Dim oEmail As Object
Dim wbAtual As Workbook
Dim sNomeArquivo As String
Dim sLocalTemp As String
Application.ScreenUpdating = False

Set oOutlook = CreateObject("Outlook.Application")
Set oEmail = oOutlook.CreateItem(0)
sLocalTemp = "C:temp"

' Copia a planilha ativa e salva em local temporário
ActiveSheet.Copy
'Set wbAtual = ActiveWorkbook
 Set wbAtual = ActiveSheet

' Aqui você define qual planilha deve ser gravada
'sNomeArquivo = wbAtual.Worksheets(1).Name
sPlanAEnviar = "PEDIDO GAUER"


On Error Resume Next
Kill sLocalTemp & sNomeArquivo
On Error GoTo 0
wbAtual.SaveAs Filename:=sLocalTemp & sNomeArquivo

With oEmail
    '.To = "destino@gmail.com"
    '.Subject = "Assunto"
    '.body = "Corpo do e-mail"
    .Attachments.Add wbAtual.FullName
    .Display
End With

'Deleta o arquivo temporário
wbAtual.ChangeFileAccess Mode:=xlReadOnly
Kill wbAtual.FullName
wbAtual.Close SaveChanges:=False

Set oEmail = Nothing
Set oOutlook = Nothing
End Sub
 
Postado : 11/12/2015 5:40 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

o fato é se fosse pra enviar por PDF, eu ja tenho a rotina que o Wagner Moriel me passou, mas nesta rotina preciso enviar uma aba apenas da planilha com o pedido, e eu queria adaptar ao corpo do email uma mensagem , pois da forma que ja esta, so consigo enviar o assunto, mas sem corpo, por isso é que queria implantar esta rotina acima e nao a primeira.

Mas quero que o arquivo depois de enviado seja excluido.

Grato

 
Postado : 11/12/2015 7:28 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Eu nao recomendo excluir o arquivo assim que for enviado, sugiro que vc exclua esse arquivo apos o recebimento da mercadoria.

E mais seguro, e facilita a conferencia do seu pedido com o que o fornecedor enviou.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 11/12/2015 7:31 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

mas quando eu envio, é porque ja salvei em PDF entendeu

Espero que possa me encaminhar a rotina hehe.

Garto amigao, vcs tem me ajudado bem

Andre

 
Postado : 11/12/2015 7:33 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

a outra rotina que envia por pdf eu envio para o lojista, essa nao posso enviar em PDF tem que ser so uma das abas, . Ja ate esta enviando, mas quero acoplar um corpo a mensagem e este corpo quero que seja uma das celulas da planilha, e nessa e bom que seja numa pasta temporaria e na sequencia excluida, entedeu ?

grato

 
Postado : 11/12/2015 7:38 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

fuçando aqui , consegui fazer, mas nao esta ainda enviando automaticamente, fica estacionado na tela de email. Gostaria que a Macro enviasse automaticamente.

Sub enviaPlanilhaAtiva_Gauer()

Dim oOutlook As Object
Dim oEmail As Object
Dim wbAtual As Workbook
Dim sNomeArquivo As String
Dim sLocalTemp As String
Application.ScreenUpdating = False

Set oOutlook = CreateObject("Outlook.Application")
Set oEmail = oOutlook.CreateItem(0)
sLocalTemp = "C:UsersAndreDesktopPedidos Gauer"

' Copia a planilha ativa e salva em local temporário
ActiveSheet.Copy
Set wbAtual = ActiveWorkbook

' Aqui você define qual planilha deve ser gravada
sNomeArquivo = wbAtual.Worksheets("PEDIDO GAUER").Name


On Error Resume Next
Kill sLocalTemp & sNomeArquivo
On Error GoTo 0
wbAtual.SaveAs Filename:=sLocalTemp & sNomeArquivo

With oEmail
    .To = "atendimento-rj@gauerdobrasil.com.br"
    .Subject = "teste"
    .Body = "Isso e um teste"
    .Attachments.Add wbAtual.FullName
    .Display
End With

'Deleta o arquivo temporário
wbAtual.ChangeFileAccess Mode:=xlReadOnly
Kill wbAtual.FullName
wbAtual.Close SaveChanges:=False

Set oEmail = Nothing
Set oOutlook = Nothing


End Sub
 
Postado : 11/12/2015 8:07 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Agora foi amigos,

mudei para

.Send

With oEmail
.To = "[email protected]"
.Subject = "teste"
.Body = "Isso e um teste"
.Attachments.Add wbAtual.FullName
.Display

abracos

Andre

 
Postado : 11/12/2015 8:19 pm