Automatycznie zapisuj załączniki z wiadomości e-mail pasującej do określonej reguły

1

Każdego ranka otrzymuję wiadomość e-mail od osoby, która zawiera załącznik do arkusza kalkulacyjnego. Udało mi się stworzyć regułę prognozy, która przechwytuje te e-maile. Czy możliwe jest automatyczne zapisanie załącznika z każdego z nich w folderze lokalnym o nazwie YYYY-MM-DD.xls?

Załącznik do wiadomości ma losowo generowaną nazwę pliku, więc musi wybrać datę wysłania wiadomości. Uwaga: jest to na moim laptopie, więc jest szansa, że ​​wiadomość e-mail zostanie wysłana w dniu innym niż dzień, w którym ją otrzymam (na przykład, kiedy jest wyłączona na jeden dzień), więc użycie „dzisiejszej daty” jest nie realna opcja.

EDYCJA: przy użyciu systemu Windows 7 z programem Outlook 2013

Jarmund
źródło

Odpowiedzi:

2

Aby zrobić to, co chcesz, musisz wymieszać trochę VBA i Reguły razem. Nie wiesz, jakiej wersji programu Outlook używasz, więc nie ma tutaj żadnych gwarancji. Zostało to przetestowane w programie Outlook 2010.

Ten artykuł pomoże Ci skonfigurować ustawienia - Reguła automatycznego zapisywania załącznika w Outlooku .

Poniższy kod został zmodyfikowany w celu zapisania pliku w formacie nazwy yyyy-mm-dd.

Public Sub SaveToDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim dateFormat

dateFormat = Format(Now, "yyyy-mm-dd")

'Change this path to the your folder location
saveFolder = "c:\temp\"

objAtt.SaveAsFile saveFolder & "\" & dateFormat & ".xls"

Set objAtt = Nothing

End Sub

Po skonfigurowaniu tej reguły do ​​uruchamiania tego skryptu zapisuje on każdy załącznik od tej osoby za każdym razem, gdy ją otrzyma (i nadaje mu .xlsrozszerzenie). Jeśli chcesz to zmienić, musisz zmodyfikować regułę lub ją wyłączyć.

CharlieRB
źródło
Czy musi być otwarty (klient WWW programu Outlook 2010), aby działał, czy działa niezależnie od tego?
CEO w Apartico
Dotyczy to klienta programu Outlook zainstalowanego w systemie Windows. Nie mam pojęcia, czy będzie działać z klientem sieciowym. Możesz zadać własne, specyficzne pytanie.
CharlieRB,