Jump to content
Fórum Script Brasil
  • 0

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


Question

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 = "[email protected]" & " [email protected]"
  .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

Edited by Thay4591
Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      149405
    • Total Posts
      645894
×
×
  • Create New...