Ir para conteúdo
Fórum Script Brasil

Thay4591

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Thay4591

Thay4591's Achievements

0

Reputação

  1. 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
×
×
  • Criar Novo...