Outlook: Автоматическое сохранение вложенных файлов из писем на диск

Если Вам регулярно, по расписанию на работе приходят по почте какие-либо письма с отчетами, изображениями и файлами, то намного удобней с этими файлами работать когда они сразу же сохраняются в отдельную папку на жестком диске.

Для этих целей в Outlook можно создать макрос и настроить его запуск в правилах для электронной почты. В правилах же можно указать при получении каких именно писем, от какого отправителя нужно запускать макрос, который сохраняет вложения на диск.

Все эти действия займут не более минуты.

Для создания макроса нажимаем в Outlook сочетание клавиш Alt+F11. Появится окно:

Outlook: макрос для сохранения вложений

  1. В любом месте области 1 (отмечено на изображении выше) кликаем правой кнопкой мышки
  2. В контекстном меню выбираем "Insert" - "Module" (на рисунке отмечено как 2)
  3. Появиться окно (отмечено на рисунке как 3) в которое нужно вставить следующий код:
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
dateOfMailItem = Format(itm.CreationTime, "yyyy.mm.dd.hhnnss")
saveFolder = "C:\Temp"
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder & "\" & dateOfMailItem & "_" & objAtt.FileName
Set objAtt = Nothing
Next
End Sub

4. Сохраняем: жмем на иконку дискетки

Макрос создан.

Теперь нужно создать правило в Outlook:

  • В главном меню жмем "Сервис" - "Правила и оповещения..."
  • В появившемся окне "Правила и оповещения" жмем кнопку "Новое"
  • На этапе "Какие сообщения следует отбирать?" указываем критерий письма
  • На этапе "Что следует сделать с сообщением?" выбираем галочкой "Запустить сценарий" и кликаем по надписи "сценарий"
  • В появившемся маленьком окне "Выбор сценария" выбираем сценарий в названии которого содержится "saveAttachtoDisk"
  • Жмем "ок" и "готово"

Вот и все, теперь вложения будут сохраняться в папку "C:\Temp" (в скрипте можно изменить)  с именами вложенных файлов и дописыванием впереди имени даты и времени получения письма.

Если файлы не сохраняются, то, попробуйте изменить настройки безопасности Outlook 2010:

  • Идем вкладку "Файл" - настройки (Outlook Options) - настройки безопасности (Trust Center)
  • Жмем на настройки центра безопасности (Trust Center Settings), после чего жмем на настройки макросов слева (Macro Settings)
  • Выбираем вариант уведомления обо всех макросах (Notifications for all macros) и жмем OK.

Теперь макрос будет запускаться, но перед этим будет появляться сообщение об его запуске.

Понравилось? =) Поделись с друзьями:

Обсуждение записи “Outlook: Автоматическое сохранение вложенных файлов из писем на диск”

  1. Константин says:

    Добрый день Владимир.
    Спасибо за полезную статью!
    Подскажите пожалуйста, при получении письма возможно ли программно создать каталог Имя которого равно «теме» письма и записывать в этот каталог вложения этого письма?
    С VBA не знаком, очень надеюсь на вашу помощь!

    С уважением, Константин

  2. Владимир Демянович (elims.org.ua) says:

    Добрый день, Константин. Уверен что это возможно, но к сожалению у меня нет такого практического опыта, чтобы так сразу подсказать какой именно код прописывать, самому нужно разбираться в синтаксисе.

  3. sergeos says:

    Константин, попробуйте добавить в код Владимира Демяновича такую конструкцию вместо строчки saveFolder = «C:\Temp» вставьте:
    saveFolder = «C:\» & itm.Subject
    If Dir(saveFolder, vbDirectory) = «» Then MkDir (saveFolder)

  4. Дарья says:

    Большое Вам спасибо! Пыталась сохранить все вложения по отдельности, но это отнимало много времени, так как поток информации огромный. А теперь всё просто =)

  5. Наталья says:

    помогите…

    4. Сохраняем: жмем на иконку дискетки

    Макрос создан.
    Теперь нужно создать правило в Outlook:
    •В главном меню жмем «Сервис» — «Правила и оповещения…»
    •В появившемся окне «Правила и оповещения» жмем кнопку «Новое»

    дальше не получается, не могу найти «Выбор сценария» и «saveAttachtoDisk»

    буду благодарна если кто поможет, спасибо!

  6. Регина says:

    Добрый день! Такой вопрос! Напишите,как сделать так,чтобы каждый день создавалась новая папка, например, сегодня папка называется 1, завтра папка называется 2 и т.д.(и в эту папку также сохранялись файлы и желательно чтобы дата и время указывались в конце)
    Заранее большое спасибо!

Обсудить