Salvar anexo do Outlook automaticamente

3

Existe um método baseado no Windows que pode extrair automaticamente o anexo de email salvo de um outlook 2010 para um servidor? Eu recebo um email diariamente com um anexo que eu salvo manualmente em uma pasta em um servidor. Eu preciso automatizar esse processo.

O que eu tentei -

eu tentei criar uma regra no outlook e um script para ela. mas só salva o anexo para a minha pasta local no meu pc. e só salva quando o Outlook é aberto. Eu quero salvar em um servidor e salvar mesmo que o Outlook não seja aberto no servidor. Aqui está o script que eu salvei no Outlook

Public Sub saveAttachtoDisk(itm As Outlook.MailItem) 
Dim objAtt As Outlook.Attachment 
Dim saveFolder As String 
saveFolder = "D:\newfolder" 
  For Each objAtt In itm.Attachments 
    If InStr(objAtt.DisplayName, ".xls") Then 
    objAtt.SaveAsFile saveFolder & "\" & objAtt.DisplayName 
    End If 
  Set objAtt = Nothing 
  Next 
End Sub 
    
por user423803 01.03.2015 / 13:55

2 respostas

2

A execução do VBA é uma operação somente do lado do cliente. Isso significa que seu PC precisa estar ligado e o Outlook precisa estar em execução com o script ativado. Se você não tiver o Outlook em execução, o que você deseja não é possível. Talvez haja uma solução do lado do servidor, mas isso é uma questão para serverfault.com

Se você quiser processar anexos em e-mails específicos, isso é o que eu uso. Funciona perfeitamente para mim no Outlook 2013:

Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
saveFolder = "c:\temp"
     For Each objAtt In itm.Attachments
          objAtt.SaveAsFile saveFolder & "\" & objAtt.DisplayName
          Set objAtt = Nothing
     Next
End Sub

A última parte da regra é a execução de um script.

ParaoutraspessoasquenãoestãofamiliarizadascomoOutlookVBA,vocêprecisaexibirafaixadeopçõesdodesenvolvedor.

Cole o código acima, salve o VBA e faça referência a ele em sua regra.

    
por 02.03.2015 / 18:12
1

Se a sua conta do Outlook for POP3 ou IMAP, você não poderá executar macros ou regras enquanto o cliente estiver fechado, pois não há maneira de acionar o evento, a não ser as mensagens recebidas.

Se você estiver executando o Outlook no Exchange, precisará criar uma regra no servidor da sua conta para salvar anexos antes de serem entregues à sua Caixa de entrada. A regra precisará do endereço UNC ( \server\folder , não um endereço de unidade mapeada local ( D:\folder ) que o servidor não reconhece.

Tenha em mente que seu administrador de rede pode ter desabilitado as regras do lado do servidor por motivos de segurança. Você deve verificar com eles para garantir que você é capaz de fazer isso.

Informações adicionais: Regras do lado do cliente e do servidor

    
por 01.03.2015 / 18:18