Notifications
Clear all

Macro com função

4 Posts
3 Usuários
0 Reactions
1,086 Visualizações
(@renanop)
Posts: 6
Active Member
Topic starter
 

Amigos,

Estou precisando de 2 favores kkkkk

O caminhos das aguas kkkkk

1º - Tenho uma planilha de envio de email, e queria saber se existe algum meio no qual eu faça um função na macro que uma vez enviado o email nao seja enviado novamente, pq sempre que rodar sera encaminhado os mesmo emails as vezes.

2º A mensagem que foi criado para aparecer no email eu gostaria de saber que codigo utilizo para formatar o texto visualizado no email, e se exites alguma forma para transforma algo referente a moeda, pq o valor que puxa da planilha vem como numeros normas e gostaria que fica-se de forma de moeda.

Segue o codigo que tenho no momento

EMail.Subject = "Contrato A vencer"
              
            
            Msgf = "Prezado (a) " & "," & vbCrLf & vbCrLf
            Msgf = "O Fornecedor " & Sheets("ControleContratos").Range("A" & i).Value & "," & vbCrLf & vbCrLf
            Msgf = Msgf & "Encontra-se com seu contrato para vencer" & vbCrLf & vbCrLf
            Msgf = Msgf & "Por gentileza providenciar Tratativas" & vbCrLf & vbCrLf
            Msgf = Msgf & "Descrição:" & vbCrLf & vbCrLf
            Msgf = Msgf & "Fornecedor: " & Sheets("ControleContratos").Range("A" & i).Value & "" & vbCrLf
            Msgf = Msgf & "Data da Vigencia: " & Sheets("ControleContratos").Range("B" & i).Value & "" & vbCrLf
         1-   Msgf = Msgf & "Valor do Contrato: R$ " & Sheets("ControleContratos").Range("C" & i).Value & "" & vbCrLf & vbCrLf
            Msgf = Msgf & "Atenciosamente. " & vbCrLf & vbCrLf
            Msgf = Msgf & "Base de Dados"
              
              
            
            EMail.Body = Msgf

1 - tem que aparecer de formatacao de moeda exemplo Valor do contrao R$ 250.000,00 e esta aparecendo R$ 250000,00
2- E formata o texto por negrito font. essas coisas

Atenciosamente

 
Postado : 13/09/2017 5:37 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Renan,

Solicitamos, por gentileza, da próxima vez que inserir códigos VBA aqui no fórum, utilizar a TAG CODE que fica localizada logo acima da caixa de mensagens. Isso ajudará a manter o fórum de forma mais organizada.

Como você é novato no fórum, para melhor aproveitar o mesmo, mantendo-o de forma organizada, por gentileza, leia atentamente as regras abaixo:

viewtopic.php?f=7&t=203
viewtopic.php?f=7&t=7903
viewtopic.php?f=7&t=3841
viewtopic.php?f=7&t=16757
viewtopic.php?f=7&t=12600
viewtopic.php?f=7&t=3371

Quanto a sua dúvida, melhor você anexar, aqui mesmo no fórum, seu arquivo, compactado com .ZIP, para que todos possa ver, rodar o código, depurar o mesmo e ajudar com maior rapidez e precisão.

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 : 13/09/2017 6:38 am
joebsb
(@joebsb)
Posts: 44
Eminent Member
 

Tenho visto muitos pedidos aqui no fórum com tentativa de formatar o texto do e-mail.

A questão meus caros, é que para formatar o texto do e-mail, vc precisa formatar o texto em HTML. Tarefa fácil para alguns, tarefa complicada para outros.

Em anexo, deixo uma planilha que fiz à algum tempo atrás. Ela atende os pré-requisitos que você colocou aqui Renan, pois o funcionamento dela é o seguinte:

Ela possui 8 colunas a saber:
ENVIADO
NOME
EMAIL
OPÇÃO1
OPÇÃO2
OPÇÃO3
OPÇÃO4
OPÇÃO5

Ou seja, preenchendo os campos, a planilha envia 5 opções para um cliente(ou clientes) no e-mail.

Já a primeira coluna(enviado) é usada pela macro para demarcar quem já recebeu o e-mail, evitando assim que a planilha envie e-mail novamente para a mesma pessoa. Esta coluna portanto deve ficar em branco.

Para funcionar, deve-se estar com o Outlook aberto.

Para testes, deixei a macro apenas exibindo o e-mail formatado, mas, se quiser enviar diretamente(sem visualizar) basta alterar na função "ENVIAMAIL" do "Módulo1" as linhas conforme abaixo:

'olEMail.Send
olEMail.Display

Para:

olEMail.Send
'olEMail.Display

Para facilitar, basta fazer uma pesquisa no código pelo seu nome "renan" que deixei os comentários aonde vc precisa alterar para enviar os e-mails direto.

Espero ter ajudado a galera.

Caso precisem, estou a disposição para trabalhos freelancer!

Abraços

Espero ter ajudado.

Se ficou como vc queria... não esqueça de marcar essa mensagem como tópico resolvido e mandar um TKS.

Abraços

 
Postado : 13/09/2017 6:50 am
(@renanop)
Posts: 6
Active Member
Topic starter
 

wagner

Segue o arquivo

 
Postado : 13/09/2017 10:17 am