Как быстро извлечь вложения из всех файлов сообщений Outlook в папке Windows

Поделись сейчас:

Возможно, вы сохранили несколько электронных писем Outlook в формате .msg в папке Windows. А позже, когда вы захотите извлечь вложения из этих файлов, вы можете использовать способ, описанный в этой статье.

Довольно легко извлекать вложения из электронных писем в Outlook. Но как насчет электронных писем, которые были экспортированы в виде файлов .msg в папку Windows? Как правило, вы должны сначала открыть эти файлы .msg в своем Outlook, а затем сохранить вложения из них одно за другим. Возможно, вам покажется это слишком громоздким. Итак, после этого мы научим вас другому гораздо более быстрому решению.

Извлечение вложений из всех файлов сообщений Outlook в папке Windows

  1. Для начала сtarОткройте приложение Outlook и запустите редактор VBA.
  2. Затем в окне «Microsoft Visual Basic для приложений» скопируйте приведенный ниже код VBA в неиспользуемый модуль.
Dim strAttachmentFolder As String

Sub ExtractAttachmentsFromEmailsStoredinWindowsFolder()
    Dim objShell, objWindowsFolder As Object
 
    'Select a Windows folder
    Set objShell = CreateObject("Shell.Application")
    Set objWindowsFolder = objShell.BrowseForFolder(0, "Select a Windows Folder:", 0, "")
 
    If Not objWindowsFolder Is Nothing Then
       'Create a new folder for saving extracted attachments
       strAttachmentFolder = "E:\Attachments-" & Format(Now, "MMDDHHMMSS") & "\"
       MkDir (strAttachmentFolder)
       Call ProcessFolders(objWindowsFolder.self.Path & "\")
       MsgBox "Completed!", vbInformation + vbOKOnly
    End If
End Sub

Sub ProcessFolders(strFolderPath As String)
    Dim objFileSystem As Object
    Dim objFolder As Object
    Dim objFiles As Object
    Dim objFile As Object
    Dim objItem As Object
    Dim i As Long
    Dim objSubFolder As Object

    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFileSystem.GetFolder(strFolderPath)
    Set objFiles = objFolder.Files
 
    For Each objFile In objFiles
        If objFileSystem.GetExtensionName(objFile) = "msg" Then
           'Open the Outlook emails stored in Windows folder
           Set objItem = Session.OpenSharedItem(objFile.Path)

           If TypeName(objItem) = "MailItem" Then
              If objItem.Attachments.Count > 0 Then
                 'Extract attachments
                 For i = objItem.Attachments.Count To 1 Step -1
                     objItem.Attachments(i).SaveAsFile strAttachmentFolder & objItem.Attachments(i).FileName
                 Next
              End If
           End If
        End If
    Next
 
    'Process all subfolders recursively
    If objFolder.SubFolders.Count > 0 Then
       For Each objSubFolder In objFolder.SubFolders
           If ((objSubFolder.Attributes And 2) = 0) And ((objSubFolder.Attributes And 4) = 0) Then
              Call ProcessFolders(objSubFolder.Path)
           End If
       Next
    End If
End Sub

Код VBA — извлечение вложений из всех файлов сообщений Outlook в папке Windows

  1. Затем переместите курсор на первую подпрограмму и нажмите клавишу «F5».
  2. После этого вам потребуется выбрать исходную папку Windows во всплывающем диалоговом окне.Выберите папку Windows
  3. После нажатия «ОК» макрос продолжит работу.
  4. Когда он завершится, вы получите сообщение «Completed».
  5. Теперь вы можете получить доступ к предопределенной локальной папке для сохранения извлеченных вложений.Извлеченные вложения

Эффективное решение проблем с Outlook

Поскольку Outlook, по общему признанию, подвержен ошибкам, вы должны проявлять осторожность при работе с объектами Outlook, например, никогда не доверять файлам или ссылкам, встроенным в неизвестные электронные письма, и так далее. В противном случае ваш файл Outlook может быть легко поврежден. В этом случае даже внутренний инструмент исправления не поможет. К чему можно прибегнуть, так это к опытной внешней утилите, например DataNumen Outlook Repair. Он может исправить PST файл с легкостью.

Об авторе:

Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая поврежденный sql и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com

Поделись сейчас:

Комментарии закрыты.