Ir para conteúdo
Fórum Script Brasil
  • 0

ENVIAR E-MAIL POR VBA - Mais de uma função IF e problema nas abas do e-mail.


Thay4591

Pergunta

Olá a todos.

Estou estudando VBA a pouco tempo, e estou fazendo um projeto de planilha solicitando que os funcionários PJ emitam as notas.
Eu preciso enviar para o funcionário um e-mail com valor a receber, referente ao dia dos serviços prestados, e quando ele deve emitir a nota. 

O primeiro comando da programação é que SE a célula E ="valor" estiver vazia, não enviará o e-mail.
Com a célula preenchida, ele seleciona o outlook app, coloca destinatário do e-mail, cc, título, imagem de corpo e texto.

Porém eu preciso criar um novo SE - caso a célula G = "devolução" estiver preenchida, ele vai adicionar mais uma parte em texto ao corpo do e-mail.

Não consigo fazer isso de jeito nenhum.
Outro problema que tenho também é que ao colocar em Display, ele passa por todos os e-mails que precisam ser exibidos e termina no último e-mail, em uma unica aba. Exemplo, se eu tiver 10 e-mails pra mandar, ele vai exibir todos os emails rapidamente em uma guia só, e não abrir 10 guias;

 

Coloco a programação aqui e a planilha em anexo para quem puder me ajudar.  
(obviamente as imagens no corpo do e-mail não funcionarão pois estão apontando o caminho da minha máquina)

 

Agradeço desde já

 

Sub Enviar_Email()

Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.createitem(0)
Dim png As String

On Error Resume Next

For linha = 1 To 5
If Teste.Range("E" & linha + 4).Value <> "" Then
With OutlookMail
  .To = Teste.Range("C" & linha + 4).Value
  .CC = "recursoshumanos@empresa.com" & " financeiro@empresa.com"
  .Subject = "NF | Trabalho PJ - " & Teste.Range("B" & linha + 4).Value
 
       png = ThisWorkbook.Sheets("PJ").Range("H" & linha + 4).Value
       
       texto1 = "<body style = font-size:12pt>" & "Olá " & Teste.Range("B" & linha + 4).Value & ", tudo bem?" & "<br>" & "Segue abaixo suas participações no período de: " & Teste.Range("D" & linha + 4).Value
       texto2 = "<body style = font-size:14pt>" & "Valor:<b><u> R$" & Teste.Range("E" & linha + 4).Value & ",00 </b></u>" & "<br>"
       texto3 = "<body style = font-size:12pt>" & "Estando corretas, favor me encaminhar a NF entre os dias <b><u> " & Teste.Range("F" & linha + 4).Value & "</b></u>."
       texto4 = "<body style = font-size:12pt>" & "Cumprindo acordo, estamos descontando <b>R$ " & Teste.Range("G" & linha + 4) & ",00 </b> do seu pagamento, tudo bem?"
       texto5 = "<body style = font-size:12pt>" & "Se precisar de mim, sigo a disposição." & "<br>" & "Abraços,"
       
                
.htmlbody = texto1 & "<br><br>" & "<img src=" & Chr(34) & png & Chr(34) & ">" & "<br><br>" & texto2 & "<br>" & texto3 & "<br><br>" & texto5
 .display
 
 
      End With
      End If
    Next linha
    
    On Error GoTo 0
    Set OutlookApp = Nothing
    Set OutlookMail = Nothing
       
End Sub

 

------------

Já tentei If Teste.Range("G" & linha + 4).Value = "" Then
.htmlbody = texto1 & "<br><br>" & "<img src=" & Chr(34) & png & Chr(34) & ">" & "<br><br>" & texto2 & "<br>" & texto3 & "<br><br>" & texto5
 Else
.htmlbody = texto1 & "<br><br>" & "<img src=" & Chr(34) & png & Chr(34) & ">" & "<br><br>" & texto2 & "<br>" & texto3 & "<br>" & texto4 & "<br><br>" & texto5

 

E não foi... Sempre dá erro no With, no If, etc.

 

ENVIEI UM GIF COM O PROBLEMA DO E-MAIL

LInk pra Planilha: https://drive.google.com/file/d/1jpKBmdmnTMUIKZNx9I7pJI31vdpFgV8e/view?usp=sharing 

New Recording - 08_06_2021 23_22_03.gif

Editado por Thay4591
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...