Página 1 de 1

Macro para envio de multiplos e-mais só enviando o primeiro

Enviado: 03 Nov 2018 às 12:10
por matheuspaixao19
Pessoal Bom dia!

Estou montando uma macro para envio de múltiplos e-mails seguindo uma mesma condição, no entanto ela só está enviando o primeiro e-mail e para, alguém saberia me esclarecer ?

Sub enviar_notificacao()

Dim outlookApp As Object
Dim outlookMail As Object
Set outlookApp = CreateObject("outlook.application")
Set outlookMail = outlookApp.CreateItem(0)


On Error Resume Next

Dim i As Integer
For i = 1 To 3

If Notifications.Range("E" & i + 6).Value <> "ok" Then

With outlookMail
.To = Notifications.Range("D" & i + 6).Value
.cc = ""
.bcc = ""
.Subject = "Compliance Training Notification"
.HTMLbody = Notifications.Range("F" & i + 6).Value
.display
.send

End With
End If

Next i

On Error GoTo 0

Set outlookMail = Nothing
Set outlookApp = Nothing

End Sub

Re: Macro para envio de multiplos e-mais só enviando o prime

Enviado: 04 Nov 2018 às 08:19
por osvaldomp
If Notifications.Range("E" & i + 6).Value <> "ok" Then

Provavelmente E7 <> ok.
Verifique se E8 e E9 também não contém "ok".

Re: Macro para envio de multiplos e-mais só enviando o prime

Enviado: 05 Nov 2018 às 21:38
por matheuspaixao19
Veirifiquei mas ele ainda só faz a primeira rotina e para, quando faço o codigo para mostrar o e-mail apenas, sem enviar consigo ver que ele monta todos, mas descarta.. pus em anexo caso alguem saiba me ajuda

Re: Macro para envio de multiplos e-mais só enviando o prime

Enviado: 06 Nov 2018 às 11:09
por osvaldomp
Experimente.
Código: Selecionar todos
Sub enviar_notificacao()
 Dim outlookapp As Object
 Dim outlookmail As Object
 Dim i As Integer
  Set outlookapp = CreateObject("outlook.application")
   For i = 1 To 3
    If Notifications.Range("E" & i + 6).Value <> "ok" Then
     Set outlookmail = outlookapp.CreateItem(0)
      With outlookmail
       .To = Notifications.Range("D" & i + 6).Value
       .cc = "matheuspaixao19@hotmail.com"
       .BCC = ""
       .Subject = "Compliance Training Notification"
       .HTMLbody = Notifications.Range("F" & i + 6).Value
       .display
       .send
      End With
    End If
    'Windows("GRC_Trainings_31 de Out_com NPER.xlsm").Activate
    Set outlookmail = Nothing
   Next i
  Set outlookapp = Nothing
End Sub
obs. deixei desativada a linha abaixo pois não vejo relação com o código.
'Windows("GRC_Trainings_31 de Out_com NPER.xlsm").Activate

Macro para envio de multiplos e-mais só enviando o primeiro

Enviado: 06 Nov 2018 às 22:14
por matheuspaixao19
Muito Obrigado meu amigo! salvou aqui! :D