none
Salvar Anexo de e-mail automaticamente RRS feed

  • Pergunta

  • Boa tarde,

    Preciso que quando um e-mail contendo uma regra já definida chegue no Outlook, execute um script que salva o anexo deste em uma pasta.

    Achei um script de salvamento na internet mas não sei como "linka-lo" na regra automaticamente.

    Grato por qualquer ajuda

    Vinicius

    quarta-feira, 8 de dezembro de 2010 15:45

Respostas

  • 1 - Crie uma rotina do tipo:

    Sub MensagemRecebida(Item As MailItem)
      MsgBox "Mensagem Recebida de " & Item.Sender & "!"
    End Sub

    Em seguida, crie uma regra em Página Inicial | Regras | Gerenciar Regras e Alertas...

    Crie uma nova regra, que ao receber e-mail, execute um script e atribua à sua rotina.

    Mais detalhes em: http://www.ambienteoffice.com.br/outlook/executar_macro_ao_receber_e-mail/


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br
    quarta-feira, 22 de dezembro de 2010 22:28
    Moderador
  • Neste exemplo a macro salva os anexos dos emails recebidos com o assunto: "Teste".

    Private Sub Application_NewMail()
       
        Dim ns As NameSpace
        Dim Inbox As MAPIFolder
        Dim Item As Object
        Dim Atmt As Attachment
        Dim FileName As String
       
        Set ns = GetNamespace("MAPI")
        Set Inbox = ns.GetDefaultFolder(olFolderInbox)
        Set NaoLidos = Inbox.Items.Restrict("[Unread] = True")
       
        If Inbox.Items.Count = 0 Then
            MsgBox "Não há nenhum novo email na caixa de entrada!", vbInformation, ""
            Exit Sub
        End If
       
        For Each Item In NaoLidos
       
            If Item.Subject = "Teste" Then
               
                For Each Atmt In Item.Attachments
                    FileName = "C:\Anexox\" & Atmt.FileName
                    Atmt.SaveAsFile FileName
                Next Atmt
           
            End If
        
        Next Item
      
        Set Atmt = Nothing
        Set Item = Nothing
        Set ns = Nothing
        Exit Sub
      
    End Sub

    --EAM

     

    quinta-feira, 30 de dezembro de 2010 15:29

Todas as Respostas

  • 1 - Crie uma rotina do tipo:

    Sub MensagemRecebida(Item As MailItem)
      MsgBox "Mensagem Recebida de " & Item.Sender & "!"
    End Sub

    Em seguida, crie uma regra em Página Inicial | Regras | Gerenciar Regras e Alertas...

    Crie uma nova regra, que ao receber e-mail, execute um script e atribua à sua rotina.

    Mais detalhes em: http://www.ambienteoffice.com.br/outlook/executar_macro_ao_receber_e-mail/


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br
    quarta-feira, 22 de dezembro de 2010 22:28
    Moderador
  • Neste exemplo a macro salva os anexos dos emails recebidos com o assunto: "Teste".

    Private Sub Application_NewMail()
       
        Dim ns As NameSpace
        Dim Inbox As MAPIFolder
        Dim Item As Object
        Dim Atmt As Attachment
        Dim FileName As String
       
        Set ns = GetNamespace("MAPI")
        Set Inbox = ns.GetDefaultFolder(olFolderInbox)
        Set NaoLidos = Inbox.Items.Restrict("[Unread] = True")
       
        If Inbox.Items.Count = 0 Then
            MsgBox "Não há nenhum novo email na caixa de entrada!", vbInformation, ""
            Exit Sub
        End If
       
        For Each Item In NaoLidos
       
            If Item.Subject = "Teste" Then
               
                For Each Atmt In Item.Attachments
                    FileName = "C:\Anexox\" & Atmt.FileName
                    Atmt.SaveAsFile FileName
                Next Atmt
           
            End If
        
        Next Item
      
        Set Atmt = Nothing
        Set Item = Nothing
        Set ns = Nothing
        Exit Sub
      
    End Sub

    --EAM

     

    quinta-feira, 30 de dezembro de 2010 15:29