Сохранить вложения из многих писем одновременно в Outlook?

18

Кто-то прислал мне 200 электронных писем за одну ночь с одним вложенным файлом. вздох

Я ожидаю еще 200 каждый вечер в течение следующих трех ночей (электронные письма приходят с сервера, поэтому попросить их пакетировать их невозможно).

Вложения файлов имеют уникальные имена файлов, так есть ли простой способ сохранить вложения сразу из всей группы электронных писем?

Я бы не хотел открывать каждое письмо по отдельности, щелкать правой кнопкой мыши, сохранять, промывать, повторять ...

Я свободно владею VBA, мне очень удобно создавать макросы Excel, поэтому я могу себе представить, что должно быть относительно легко обойти заданную папку для всех сообщений и сохранить вложения для каждого, но я раньше не писал макрос Outlook, не знаком с иерархия объектов.

richardtallent
источник

Ответы:

14

OutlookAttachView NirSoft может сделать это легко, даже из командной строки!

OutlookAttachView сканирует все сообщения, хранящиеся в вашем Outlook, и отображает список всех вложенных файлов, которые он находит. Вы можете легко выбрать одно или несколько вложений и сохранить их все в нужную папку, а также удалить нежелательные большие вложения, которые занимают слишком много места на диске в вашем почтовом ящике. Вы также можете сохранить список вложений в файл xml / html / text / csv.

альтернативный текст

OutlookAttachView является бесплатным.

Джон Т
источник
Спасибо за эту утилиту. Помогли с тем, что я хотел сделать сегодня утром: загрузите 99 вложений в формате PDF в папку «Входящие» сразу.
Чайтанья MSV
6

Надстройка для удаления вложений в Outlook :

Бесплатная надстройка Outlook для сохранения и распаковки вложений, уменьшения размера ваших файлов Outlook. Легко использовать. Множество функций.

образ

harrymc
источник
1
Это не сработало в Outlook 2013. Надстройка просто нигде не найдена и не распознается, когда я пытался загрузить ее вручную.
Milind R
3

Вот еще несколько вариантов с этим.

Сайт Сью Мошер http://slipstick.com - фантастический ресурс для Outlook. Она также является Microsoft MVP.

Для программистов: сохраняйте вложения на жестком диске и, альтернативно, сохраняйте и открывайте вложения с помощью VBA .

Следующий код работает в Outlook 2000 и выше. Он сохраняет вложения из выбранных сообщений, но не удаляет вложения из сообщений.

...

Скопируйте и вставьте код с этой страницы в ваш проект ThisOutlookSession.

В Outlook нажмите Alt + F11, чтобы открыть редактор VBA и развернуть объекты Microsoft Outlook, затем дважды щелкните ThisOutlookSession, чтобы открыть его на панели редактирования, и Ctrl + V, чтобы вставить код.

Чтобы использовать его, вы должны сначала создать папку в папке «Мои документы» с именем OLAttachments (код не создаст ее для вас). Затем выберите одно или несколько сообщений и запустите макрос, чтобы сохранить вложения. Вам нужно установить защиту макросов, чтобы они предупреждали перед включением макросов или подписали макрос. Вы можете изменить имя или путь к папке, в которой сохраняются вложения, отредактировав код.

Public Sub SaveAttachments()
Dim objOL As Outlook.Application
Dim objMsg As Outlook.MailItem 'Object
Dim objAttachments As Outlook.Attachments
Dim objSelection As Outlook.Selection
Dim i As Long
Dim lngCount As Long
Dim strFile As String
Dim strFolderpath As String
Dim strDeletedFiles As String

    ' Get the path to your My Documents folder
    strFolderpath = CreateObject("WScript.Shell").SpecialFolders(16)
    On Error Resume Next

    ' Instantiate an Outlook Application object.
    Set objOL = CreateObject("Outlook.Application")

    ' Get the collection of selected objects.
    Set objSelection = objOL.ActiveExplorer.Selection

' The attachment folder needs to exist
' You can change this to another folder name of your choice

    ' Set the Attachment folder.
    strFolderpath = strFolderpath & "\OLAttachments\"

    ' Check each selected item for attachments. 
    For Each objMsg In objSelection

    Set objAttachments = objMsg.Attachments
    lngCount = objAttachments.Count

    If lngCount > 0 Then

    ' Use a count down loop for removing items
    ' from a collection. Otherwise, the loop counter gets
    ' confused and only every other item is removed.

    For i = lngCount To 1 Step -1

    ' Get the file name.
    strFile = objAttachments.Item(i).FileName

    ' Combine with the path to the Temp folder.
    strFile = strFolderpath & strFile

    ' Save the attachment as a file.
    objAttachments.Item(i).SaveAsFile strFile

    Next i
    End If

    Next

ExitSub:

Set objAttachments = Nothing
Set objMsg = Nothing
Set objSelection = Nothing
Set objOL = Nothing
End Sub

И если вы не хотите программировать: Инструменты управления вложениями для Outlook

Leptonator
источник
В моем случае все мои письма имели одинаковую тему, поэтому каждый файл перезаписывал предыдущий, оставляя один файл. Быстрый и грязный исправление я должен был предварять номер индекса так что каждый файл гарантированно уникален, как это: ниже текущих деклараций добавить: Dim Index As Longи следующая строка Index = 1 изменения: strFile = strFolderpath & strFileк strFile = strFolderpath & Index & "_" & strFile и до «Далее я» добавить:Index = Index + 1
Stax
0

После того, как меня разбомбили электронные письма от человека, который подумал, что было бы неплохо отправить мне разделенный RAR-файл на 30 писем, я успешно использовал этот скрипт VBA, опубликованный Microsoft, называется mAttachmentSaver.

Для начала вам необходимо скачать архив, содержащий скрипт .

Важно, чтобы макросы были включены. В Outlook 2010 вы можете сделать это, перейдя в Файл »Параметры» Центр управления безопасностью »Настройки Центра управления безопасностью» Настройки макроса »Включить все макросы» ОК »ОК . Затем вам нужно перезапустить Outlook. Для более ранних версий это в разделе Инструменты »Макрос» Безопасность… .

Затем выполните действия, описанные в статье TechCenter:

  • Нажмите, Alt+F11чтобы открыть VBE в Outlook.

  • Перетащите mAttachmentSaver.basфайл в Project Explorer (нажмите, Ctrl+Rесли вы его не видите) или через File >> Import File ... ( Ctrl+M).

    Запустите ExecuteSavingмакрос, чтобы сохранить вложения.

  • Вернитесь в Outlook UI и нажмите, Alt+F8чтобы открыть окно «Макросы».

  • Выберите ExecuteSavingв списке имен, а затем нажмите кнопку « Выполнить» (пожалуйста, не забудьте выбрать элементы Outlook перед запуском этого макроса).

  • Выберите конкретную папку для сохранения вложений в диалоговом окне « Просмотр папки » и нажмите кнопку « ОК» .

slhck
источник