Salvar automaticamente anexos de correio em uma unidade de rede

2

Toda manhã recebo um e-mail gerado automaticamente de um servidor, que inclui um anexo de planilha. Eu fiz uma regra no outlook que captura esses e-mails. Agora, gostaria de fazer uma macro para renomear o arquivo anexado (.Xls) para = today () e salvá-lo em uma pasta em uma unidade de rede. Esta macro deve executar todos os dias da semana às 8:00. Eu fiz um monte de VBA no Excel, mas não tenho experiência em outlook. Isso seria possível? E alguém sabe como fazer isso?

Atenciosamente Staal

    
por user269646 05.11.2013 / 15:36

2 respostas

1

Por que atrasar a gravação até as 8:00?

Na regra que "captura esses e-mails", salve "executar um script".

Sub saveAttachtoDisk(itm As Outlook.MailItem)

Dim objAtt As Outlook.Attachment
Dim saveFolder As String

saveFolder = "D:\temp"  ' change to your path

For Each objAtt In itm.Attachments
    objAtt.SaveAsFile saveFolder & "\" & Format(Now, "yyyy-mm-dd") & ".xls"
Next

End Sub

Edite com base no comentário:

Não tenho certeza se você gostaria de fazer isso dentro de saveAttachtoDisk, mas para manipular a pasta de trabalho depois que ela for salva, haverá o Excel.

Tente GetObject, se houver um erro, use CreateObject ("Excel.Application") link

Então, algo assim, ou de qualquer maneira, funciona para você, já que você conhece o Excel VBA.

Workbooks.Open (nome do arquivo)

Folhas de trabalho (1) .Name="Folha 1"

Edite 2 com base no comentário:

Você precisa passar um parâmetro.

Abra um mailitem e depois F8 aqui.

Sub saveAttachtoDisk_test
Dim currItem as mailitem
set curritem = activeinspector.currentitem
saveAttachtoDisk curritem
set currItem = nothing
end sub
    
por 08.11.2013 / 01:41
0

A razão pela qual eu comentei a pergunta é que não há maneira adequada de alcançar o resultado desejado apenas usando o Outlook VBA. Você precisará encontrar alguma solução de terceiros. Pessoalmente, posso recomendar o produto da minha empresa: ReliefJet Essentials para o Outlook Professional Edition . Ele fornece a linha de comando que pode ser utilizada para agendar o utilitário Salvar Anexos usando o Agendador de Tarefas do Windows. Enquanto você não conseguir renomear o próprio anexo, é possível criar uma pasta nomeada com qualquer padrão de data e hora que você possa imaginar para seu (s) anexo (s) . O único inconveniente: você tem que pagar por isso.

    
por 08.11.2013 / 00:52