Automatické uložení přílohy z Outlooku

Dostáváte pravidělně report v podobě přílohy, kterou potřebujete uložit do předem dané složky? A manuální ukládání vás nebaví a odvádí od jíné práce? Naštěstí lze pomocí jednoduchého makra a nastavení pravidla v Outlooku tuto činnost snadno zautomatizovat, aby běžela na pozadí. Navíc pokud váš soubor má vždy stejný název, lze bez problémů přidat časové razítko.

Co budete potřebovat:

  • Editace registru
  • Outlook makro
  • Outlook pravidlo

Jednoduchá editace registru může a nemusí být nutná. Zde záleží na vaší verzi Outlooku. K tomu se vrátíme v posledním kroce, pokud tedy bude nutné přidat položku registru.

Nejdříve půjdeme na samotné makro.

Pomocí kombinace kláves alt + F11 otevřete VBA editor v Outlooku. V něm poté do objektu ThisOutlookSession vložte kód níže. Nezapomeňtě změnit C:\Temp\ za složku, kam chcete přílohy ukládat.

Public Sub saveAtt(itm As Outlook.MailItem)

Dim Att As Outlook.Attachment
Dim saveFolder As String
Dim dateFormat As String
saveFolder = "C:\Temp\" 'Zmente za vlastni slozku, kam chcete ukladat
dateFormat = Format(itm.ReceivedTime, "yyyy-mm-dd")

For Each Att In itm.Attachments
Att.SaveAsFile saveFolder & "\" & Att.DisplayName & " - " & dateFormat & ".xlsx" 
Set Att = Nothing
Next

End Sub

Stejně tak je třeba změnit příponu .xlsx, pokud je soubor v příloze jiného formátu (.xls, .xlsb či jiný).

Zde ještě přikládám screenshot s editorem, který se vám otevře po kombinaci kláves alt + F11.

Nyní máme makro, které vezme každý soubor z přílohy, uloží jej do složky a k názvu souboru přídá datum doručení. Datum je ve formátu Rok-Měsíc-Den. Kombinaci lze obrátit či změnit na americký standard “M-D-YYYY”.

Jako další krok nás čeká nastavení Outlook pravidla.

V Outlooku na kartě Domů jděte na Pravidla, Vytvořit pravidlo…

Vyberte podmínky, které email musí splňovat, aby se nové pravidlo spustilo. V tomto dialogovém okně pak ještě klikněte na Upřesnit nastavení… To vás dostane do dalšího kroku, kde lze doupřesnit podmínky, ale hlavně poté bude možné přejít na vybrání specifických akcí.

Tlačítko Upřesnit nastavení… vám nejdříve nabídne více specifických podmínek pro spuštění pravidla. Pokud již máte všechny zadány, může přejít na Další. V ideálním případě byste měli vidět Spustit skript na obrázku vpravo. V tom případě zaškrtněte Spusit skript, v okně níže klikněte na skript a v novém podokně, které se vám otevře, vyberte makro saveAtt. Dále už pak můžete kliknout na dokončit.

 

Pokud položku Spustit skript nevidíte, bude potřeba provést editaci registrů. Nejedná se však o nic složitého, stačí přidat jednu hodnotu dle článku Spusťte makro v Outlooku 2016 a 2013. Pro nás to znamená následující kroky.

  1. Jděte na Start, zadejte regedit, spusťte editor registrů
  2. Najděte podklíč HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Security\
  3. Klikněte pravým na Security a dejte přidat Nový, hodnota DWORD
  4. Nově přidanou hodnotu přejmenujte na EnableUnsafeClientMailRules
  5. Klikněte pravým na EnableUnsafeClientMailRules a dejte změnit
  6. Přesvědčete se, že hodnota je 1

 

 

Nyní máte již všechny nutné kroky pro nastavení pravidla a spuštění makra. Automatizaci tak již nestojí nic v cestě.

Leave a Reply

Your email address will not be published. Required fields are marked *