автоматически сохранять вложения Outlook

26231
user423803

Существует ли метод на основе Windows, который может автоматически сохранять вложения электронной почты из Outlook 2010 на сервер? Ежедневно я получаю электронное письмо с вложением, которое вручную сохраняю в папку на сервере. Мне нужно автоматизировать этот процесс.

Что я пробовал -

я пытался создать правило в outlook и скрипт к нему. но это только сохраняет вложение в мою локальную папку на моем компьютере. и сохраняет только при открытии внешнего вида. Я хочу сохранить его на сервере и сохранить, даже если Outlook не открыт на сервере. Вот сценарий, который я сохранил в 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  
3
Что, если вы нацеливаете макрос на что-то вроде `savefolder =" / server / path / to` - тогда он попадает на сервер? Или вы ищете для загрузки через веб-интерфейс, такой как sharepoint? Raystafarian 9 лет назад 0

2 ответа на вопрос

2
Sun

Running VBA is a client-side only operation. This means your PC has to be on and Outlook has to be running with scripting enabled. If you don't have Outlook running, what you want is not possible. Perhaps there is a server side solution, but that is a question for serverfault.com

If you want to process attachments on specific e-mails, this is what I use. It works perfectly for me in 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 

The last part of the rule is the run a script.

enter image description here

For others that are not familiar with Outlook VBA, you need to bring up the Developer Ribbon.

enter image description here

Paste the code above, save the VBA, then reference it in your rule.

enter image description here

1
CharlieRB

Если ваша учетная запись Outlook - POP3 или IMAP, вы не можете запускать макросы или правила, пока ваш клиент закрыт, потому что нет другого способа вызвать ваше событие, кроме входящих сообщений.

Если вы работаете в Outlook на Exchange, вам необходимо создать правило на сервере для вашей учетной записи, чтобы сохранять вложения перед доставкой в ​​папку «Входящие». Правило будет нуждаться в адресе UNC (а \\server\folderне в адресе локального подключенного диска ( D:\folder), который сервер не может распознать.

Имейте в виду, ваш сетевой администратор может отключить серверные правила по соображениям безопасности. Вы должны проверить с ними, чтобы убедиться, что вы можете сделать это.

Дополнительная информация: клиентские и серверные правила