Notifications
Clear all

Macro para enviar email não está funcionando

6 Posts
3 Usuários
0 Reactions
1,636 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia a todos!

Se algúem puder ajudar....
Tentei adaptar uma macro para enviar mensagens pormeio de um botão, mas não está funcionando.
Não consegui identificar o erro da macro.
Segue anexo um modelo da planilha. a que tenho aqui é bem maior.

Desde já agradeço muito ao pessoal deste fórum.

Silvio Felinto

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 08/08/2014 8:39 am
(@tacito)
Posts: 67
Trusted Member
 

Boa tarde!

Não consegui testar sua macro, mas acho que o erro está nas variáveis, você inicializa a variável "lin" e utiliza a variável "linha". Além disso, acho que você não está pulando as linhas.

Tente esta pequena adaptação no seu código:

Sub Teste_email_de_acompanhamento()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim texto As String
    
    
On Error GoTo Trat_100

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

lin = 3  'onde começa a fazer o loop

Do Until Cells(lin, 1) = ""
If Cells(lin, 34) = 40 Then
            texto = "Prezado Gestor," & vbCrLf & "Faltam " & Plan9.Cells(lin, 34) & "dias para expirar a vigência do Convênio nº " & _
            Plan9.Cells(lin, 1) & vbCrLf & _
            vbCrLf & "Se não foram gerados os Relatórios de Execução, verificar a necessidade " & _
            "de solicitação de prorrogação da vigência do convênio."
       

        With OutMail
            .To = Plan9.Cells(lin, 35)
            .CC = ""
            .BCC = ""
            .Subject = "Alerta de fim da vigência!"
            .Body = texto
            .Send   'Utilize Send para enviar o email sem abrir o Outlook
        End With
        Set OutMail = Nothing
        Set OutApp = Nothing
 End If
  Exit Do

lin = lin + 1

Loop

Exit Sub
Trat_100:
MsgBox "Não é possivel executar"

End Sub
 
Postado : 08/08/2014 12:32 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

SILVIOFELINTO,

Boa Tarde!

Veja se é assim.

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 : 08/08/2014 12:41 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia Wagner!

Testei a sua macro e deu certinho.
Só que lembrei de uma coisa. O cálculo da constante é feito pela diferença entre os dados da coluna "D" e a fórmula HOJE().

Nos dias de feriado ou final de semana, quando for o dia posterior ao feriado ou uma segunda-feria, por exemplo, o valor não será mais 40.

Tem como definir uma margem de 5 ou 10 dias e não uma constante de 40 para eu enviar os e-mails?

Tentei adaptar uma macro para aparecer uma MSGBOX com a instrução Open da Workbook a fim de me avisar que eu devo enviar os e-mails. Se o valor estiver entre 40 e 50. Entretanto, não deu certo. A MSGBOX fica permanente.

Se puder dar uma olhada, segue o arquivo anexo.

Desde já agradeço a atenção.

Silvio Felinto

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 12/08/2014 7:57 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

SILVIOFELINTO,

Bom Dia!

Veja se pode ser assim. Para alterar os prazos, basta alterar a linha:

        If CInt(Range("E" & i).Value) >= 40 And CInt(Range("E" & i).Value) <= 45 Then

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/08/2014 7:02 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde Wagner.

Muito obrigado pela ajuda.
Caso resolvido.

Silvio Felinto.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 18/08/2014 1:39 pm