none
Vba RRS feed

  • Pergunta

  • Bom dia Pessoal...

    Estou com algumas duvidas em relação ao VBA... É que estou a usar um certo código para enviar e-mail automático, mas quando eu tenho um formatação condicional e quando muda automático essa mesma formatação o e-mail não é enviado automáticamente, a não ser que eu abra o ficheiro Excel e nessa célula carregar ENTER...

       Eu queira que isto tudo fosse automático mas não sei se é possível, ou seja, cheguei à conclusão que deria meter um código no Outlook para que ele à aquela hora abrir o ficheiro ver a formatação que alterou de um dia para o outro e enviar ou não um e-mail de alerta!

             Só que não sei como o fazer, será que me podem ajudar? Agradeço a vossa colaboração

    O código que estou a usar de momento no Excel é o seguinte:

    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim OutApp As Object
        Dim OutMail As Object
        Dim texto As String
    
        Set OutApp = CreateObject("Outlook.Application")
        Set OutMail = OutApp.CreateItem(0)
    
        linha = ActiveCell.Row - 1
        If Target.Address = "$F$" & linha Then
    
            If Plan1.Cells(linha, 6) = "DOC. CADUCADO" Then
                texto = "Sr. (a) " & Plan1.Cells(linha, 8) & "," & vbCrLf & vbCrLf & _
                        "O Documento com o Número: " & Plan1.Cells(linha, 7) & " expirou em " & _
                        Plan1.Cells(linha, 4) & " , por favor, ver esta situação o mais rápidamente possível." & vbCrLf & _
                        " Veja informações abaixo:" & vbCrLf & vbCrLf & _
                        "  FUNCIONÀRIO: " & Plan1.Cells(linha, 3) & vbCrLf & _
                        "    Estado: " & Plan1.Cells(linha, 6) & vbCrLf & _
                        "    Ação a Tomar: " & Plan1.Cells(linha, 5) & vbCrLf & vbCrLf & _
                        "Atenciosamente," & vbCrLf & _
                        "TesteX"
            End If
    
            With OutMail
                .To = Plan1.Cells(linha, 1)
                .CC = ""
                .BCC = ""
                .Subject = "Documentos a Validar"
                .Body = texto
                .display
                .Send 'Utilize Send para enviar o email sem abrir o Outlook
            End With
            On Error GoTo 0
    
            Set OutMail = Nothing
            Set OutApp = Nothing
        End If
    End Sub
    

               Se for possível me ajudar, estou à inteira disposição

    Um Abraço

    quarta-feira, 23 de julho de 2014 08:42