18

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

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

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

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

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

4 ответа4

14

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

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

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

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

6

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

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

образ

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

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 и нажмите Alt+F8, чтобы открыть окно макросов.

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .