Usuário com melhor resposta
Salvar Anexo de e-mail automaticamente

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
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- Sugerido como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 14 de junho de 2014 16:39
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 14 de junho de 2014 16:39
-
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
- Sugerido como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 14 de junho de 2014 16:39
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 14 de junho de 2014 16:39
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- Sugerido como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 14 de junho de 2014 16:39
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 14 de junho de 2014 16:39
-
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
- Sugerido como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 14 de junho de 2014 16:39
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 14 de junho de 2014 16:39