Notifications
Clear all

Corpo do Email PDF

17 Posts
3 Usuários
0 Reactions
1,555 Visualizações
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Bom dia, falta so este detalhe apenas.

Quero dentro deste comando, colocar uma localizacao de uma celula, que aponte inclua alguma observacao.

.Body = "Segue anexo seu Pedido para Aprovação." ........ , eu quero colocar antes do "Segue anexo ......" a celula onde se encontra a observacao a ser enviada, pois esta poderá mudar de loja para loja. Na minha planilha esta Celula será a "A 26" .

With EmailItem
.Subject = "Seu Pedido Gauer do Brasil"

.Body = "Segue anexo seu Pedido para Aprovação." & vbCrLf & _
"" & vbCrLf & _
"FAVOR VERIFICAR SEUS DADOS DE LOJISTA E ENDEREÇO DE ENTREGA" & vbCrLf & _
"" & vbCrLf & _
"Obrigado!" & vbCrLf & _
"" & vbCrLf & _
"André Luiz" & vbCrLf & _
"Fone: (21)3564-2347" & vbCrLf & _
"WhatsApp: (21)98799-3381" & vbCrLf & _
"[email protected]"

.To = sQualEmail
.CC = "[email protected]"
.Importance = olImportanceNormal
.Attachments.Add ActiveWorkbook.Path & "Temp.pdf"
.Send

Grato pela Ajuda

 
Postado : 07/12/2015 6:54 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

fazerbem,

Boa tarde!

Faça assim:

With EmailItem
.Subject = "Seu Pedido Gauer do Brasil"

.Body = Range("A26").Value & " - Segue anexo seu Pedido para Aprovação." & vbCrLf & _
"" & vbCrLf & _
"FAVOR VERIFICAR SEUS DADOS DE LOJISTA E ENDEREÇO DE ENTREGA" & vbCrLf & _
"" & vbCrLf & _
"Obrigado!" & vbCrLf & _
"" & vbCrLf & _
"André Luiz" & vbCrLf & _
"Fone: (21)3564-2347" & vbCrLf & _
"WhatsApp: (21)98799-3381" & vbCrLf & _
"atendimento-rj@gauerdobrasil.com.br"


.To = sQualEmail
.CC = "atendimento-rj@gauerdobrasil.com.br"
.Importance = olImportanceNormal
.Attachments.Add ActiveWorkbook.Path & "Temp.pdf"
.Send

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 07/12/2015 10:40 am
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Wagner, funcionou certo, porem esqueci de dizer que a OBs que quero por no corpo do Email esta numa outra ABA, tem como me dar a correcao da linha

.Body = Range("A26").Value & " - Segue anexo seu Pedido para Aprovação." & vbCrLf & _

Sendo que vou por ainda a A26, A28 e A30 se tiverem algoo dentro.

Grato

fazerbem,

Boa tarde!

Faça assim:

With EmailItem
.Subject = "Seu Pedido Gauer do Brasil"

.Body = Range("A26").Value & " - Segue anexo seu Pedido para Aprovação." & vbCrLf & _
"" & vbCrLf & _
"FAVOR VERIFICAR SEUS DADOS DE LOJISTA E ENDEREÇO DE ENTREGA" & vbCrLf & _
"" & vbCrLf & _
"Obrigado!" & vbCrLf & _
"" & vbCrLf & _
"André Luiz" & vbCrLf & _
"Fone: (21)3564-2347" & vbCrLf & _
"WhatsApp: (21)98799-3381" & vbCrLf & _
"atendimento-rj@gauerdobrasil.com.br"


.To = sQualEmail
.CC = "atendimento-rj@gauerdobrasil.com.br"
.Importance = olImportanceNormal
.Attachments.Add ActiveWorkbook.Path & "Temp.pdf"
.Send
 
Postado : 07/12/2015 12:41 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Basta que você insira, antes do nome "Range", o comando Sheets, um ponto, seguido do nome da sua aba entre parênteses e aspas. Vamos supor, por exemplo, que a sua aba se chama Plan1. Você altera o código para o seguinte:

.Body = Sheets("Plan1").Range("A26").Value & " - Segue anexo

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 07/12/2015 1:05 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Amigo, vc manja tudo de Excel mesmo !

Vou testar aqui e falo, muito Obrigado.

Queria dizer que desconhecia este forum, posto tb no Guru do Excel, achei este aqui por acaso, e la tb recebo muita ajuda tambem . Poderia me passar um video talvez no Youtube para que eu pudesse aprender a como resolver esta questao abaixo ?

Saberia resolver isso do anexo ?

Grato

Andre

Basta que você insira, antes do nome "Range", o comando Sheets, um ponto, seguido do nome da sua aba entre parênteses e aspas. Vamos supor, por exemplo, que a sua aba se chama Plan1. Você altera o código para o seguinte:

.Body = Sheets("Plan1").Range("A26").Value & " - Segue anexo
 
Postado : 07/12/2015 1:16 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Wagner tem este detalhe,

.Body = Sheets(nome).Range("A27").Value

tenho que colocar como sendo (nome), pois essa macro sera usada em todas as planilhas de orcamentos, e sendo assim é preciso associar a Celula A27 a cada uma delas, caso tenha alguma observacoes, pois cada loja possui a mesma tela identica, porem variam seus conteudos. Quando eu crio um novo Orcamento, gero uma nova ABa e esta aba esta associada a uma Celula C5= nome fantasia da loja. Eu tenho uma aba de Nome Modelo Frete, aqual todas as novas Abas sao criadas identicas a esta. Entao quando fiz a Macro de criacao de abas, tive que por todos os passos tendo como referencia copiar de "Modelo Frete" para "nome", para isso no incio da macro criei a Dim nome.

Entao, .Body = Sheets(nome).Range("A27").Value , nome será = ao nome da Aba que eu estiver executando esta Macro de envio.

Deu a entender ?

Andre

 
Postado : 07/12/2015 1:34 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Obrigado. sou apenas um curioso tentando aprender um pouco mais.

Quanto à vídeos no You Tube, a internet está lotada de vídeos, apostilas, livros, CD's, DVD's etc ensinando a programar em VBA. O próprio Help do VBA já é de grande ajuda!

Quanto a planilha que você enviou, infelizmente nada pude fazer pois você encaminhou o arquivo que não contém as macros.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 07/12/2015 1:39 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Obrigado. sou apenas um curioso tentando aprender um pouco mais.

Quanto à vídeos no You Tube, a internet está lotada de vídeos, apostilas, livros, CD's, DVD's etc ensinando a programar em VBA. O próprio Help do VBA já é de grande ajuda!

Quanto a planilha que você enviou, infelizmente nada pude fazer pois você encaminhou o arquivo que não contém as macros.

Esse foi o que me passaram, mas nao me explicaram rsrsrs.

esta no anexo, este foi feito sem Vba talvez fosse melhor, uma pessoa do outro forum me passou, mas parace que nao entrou mais la, dai fiquei perdido.

Gratto

 
Postado : 07/12/2015 2:02 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Desculpe... mas assim não dá pra ajudar! Esse arquivo também é um arquivo xlsx, SEM MACROS e sem nenhuma relação com o primiero arquivo que você enviou.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

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

Esquenta não, mas quanto ao que te perguntei la em cima deu pra incluir ?

Wagner tem este detalhe,

.Body = Sheets(nome).Range("A27").Value

tenho que colocar como sendo (nome), pois essa macro sera usada em todas as planilhas de orcamentos, e sendo assim é preciso associar a Celula A27 a cada uma delas, caso tenha alguma observacoes, pois cada loja possui a mesma tela identica, porem variam seus conteudos. Quando eu crio um novo Orcamento, gero uma nova ABa e esta aba esta associada a uma Celula C5= nome fantasia da loja. Eu tenho uma aba de Nome Modelo Frete, aqual todas as novas Abas sao criadas identicas a esta. Entao quando fiz a Macro de criacao de abas, tive que por todos os passos tendo como referencia copiar de "Modelo Frete" para "nome", para isso no incio da macro criei a Dim nome.

Entao, .Body = Sheets(nome).Range("A27").Value , nome será = ao nome da Aba que eu estiver executando esta Macro de envio.

Deu a entender ?

Andre

 
Postado : 07/12/2015 3:51 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Não sei se entendi bem...

Todavia, até onde entendi, troque a linha:

.Body = Sheets(nome).Range("A27").Value

Por:

.Body = ActiveSheet.Range("A27").Value

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 07/12/2015 4:38 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Pelo que entendi, você quer utilizar a Variável "nome" referenciando o nome de cada aba, para isto o ideal seria saber previamente os nomes ou captura-los atraves de rotina especifica, tipo esta :

Sub Nome_das_Abas()
    Dim nome  As Worksheet

    For Each nome In Sheets
    
        MsgBox "Nome da planilha: " & nome.Name
    
    Next nome

End Sub

Um curso que sempre indico e é gratuito é o do Julio Batistine, são 120 lições :
EXCEL AVANÇADO - GRATUITO ONLINE - 120 LIÇÕES
http://juliobattisti.com.br/cursos/exce ... ncipal.asp

E referente ao código que postei acima, você pode ler no Módulo 6 - Lição 05 - Trabalhando com o Objetos Workbook - http://juliobattisti.com.br/cursos/exce ... lo6/05.asp

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/12/2015 5:28 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Isso ai, a aba que é criada, fica ali ate se completarem o processo, vou explicar melhor.

Aba Resumo, e onde se processa o inicio do pedido . Ai é onde eu coloco o nome fantasia da loja e atraves de Procv eu puxo os dados do cliente. Ai tambem eu coloco os itens de produtos solicitados pelo lojista e depois disso jogo o pedido em espera. Para que eu possa deixar esta aba Resumo, disponivel a outro produto que chegar, é que preciso criar Abas conforme se tenha outras solicitacoes. Fiz uma Aba padrao chamada Pedido de Frete, ela serve para servir de molde a todas as abas que serao abertas e ficarao a espera de uma concretizacao, enquanto aguardo o valor do envio que foi solicitado a empresa. Recebido este valor, se sera por PAC, e-sedex etc, e a vez de informar o cliente e aguardar a sua autorizacao.

Aba produtos, onde seleciono os produtos comprados

Aba Pedidode Frete - serve como modelo as abas temporarias.

Aba frete lojista - modelo também que serve para envio da solicitacao ao cliente.

Aba Pedido - aba que e direcionada a empresa para a cotacao do frete e também a mesma quando o pedido ja foi autorizado pelo lojista.

Entao quando aciono a Macro que faz criar as abas temporarias, ela cria uma nova Plan, mas a rotina troca o nome Plan 1,2,3 ... pelo nome fantasia da loja que esta na celula E5 do Modelo Frete. Esta celula E5 e outras São copiadas da aba Resumo. Entao quando esta rotina de criacao de aba esta rodando , a macro cola informacoes das abas Pedido de frete, resumo, produtos, por isso é que a colagem age por exemplo da Aba ("modelo frete") para aba (nome). Da aba ("Resumo") para a aba nome e assim vai. Pois a aba (nome) = dim nome que neste caso é a celula E5.

Entao quando eu tenh que indicar o caminho neste rotina que esta no email, não posso colocar na linha de comando da macro e sim indicar a sua variavel (nome) , pois se eu estiver na aba "Mv meier" por exemplo, (nome) vai ser este ai, se estiver dentro de uma outra aba temporaria de nome " mv barra" o (nome) sera MV barra . Lembrando que todas as abas temporarias São identicas e mudando somente os dados da loja e os produtos que cada uma escolheu.

Tenho outras abas que não São temporarias , mas estas São as que envolvem o meu projeto.

Sou detalhista assim mesmo, pois trabalho sozinho e por isso tenh que ter tudo organizadinho.

Minha planilha esta toda operacional, deu trabalho mas esta pronta faltando apenas isso e mais a condicinal da imagem, que relatei neste topico.

Acho que consegui explicar bem.

Grato

 
Postado : 07/12/2015 6:29 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

imagina 3 pedidos aguardando fechamento. Tenho a macro de envio do pedido funcionando correeto, no corpo do email escrevi uma mensagem basica, mas cada uma dessas lojas possuem um campo observacoes com mensagens distintas, por isso é que nesta instrucao

.Body = "Segue anexo seu Pedido para Aprovação." & vbCrLf & _

Quero por antes de " segue anexo " a referencia da celula B26 que esta em cada loja. Numa loja pode estar ali na celula valores do pac, sedex, transportadora para ele escolher, dai eu sabendo poder colocar no campo certo a escolha dele.

Quando eu envio um pedid de autorizacao ao cliente eu ja lhe informo o valor de envio , mas quando tenho varias formas de envio ele o cliente tem que escolher uma. Dai uso essa celula B26. Antes eu pegava a planilha anexava, e no corpo escrevia amensagem, agora a planilha faz tudo, pois a preparei para isso.

Abracos a todos

 
Postado : 07/12/2015 6:39 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Mas caso eu não consiga, farei de outra forma, que acabei de pensar aqui, colarei a celula B26 que esta na aba de nome fantasia da loja, diretamente na aba " envio do frete " , mas colocarei a fonte da mesma cor que o fundo, dai quando gerar o PDF não ira aparecer no PDF, mas assim a rotina do Wagner, vai funcinar.

.Body = ActiveSheet.Range("A27").Value , pois A27 estara dentro agora da planilha onde e rodada a macro de envio.

 
Postado : 07/12/2015 6:46 pm
Página 1 / 2