也许您在 Windows 文件夹中以 .msg 格式存储了多封 Outlook 电子邮件。 之后,你想从这些文件中提取附件,可以使用本文分享的方式。
从 Outlook 中的电子邮件中提取附件非常容易。 但是在 Windows 文件夹中导出为 .msg 文件的电子邮件呢? 通常,您必须先在 Outlook 中打开这些 .msg 文件,然后将其中的附件一一保存。 也许你会觉得太麻烦了。 因此,在下文中,我们将教您另一种更快的解决方案。
从 Windows 文件夹中的所有 Outlook 邮件文件中提取附件
- 首先,启动 Outlook 应用程序并运行 VBA 编辑器。
- 然后,在“Microsoft Visual Basic for Applications”窗口中,将下面的 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
- 随后,将光标移动到第一个子程序并按下“F5”键按钮。
- 之后,您需要在弹出的对话框中选择源 Windows 文件夹。
- 单击“确定”后,宏将继续工作。
- 完成后,您将收到“已完成”消息。
- 现在,您可以访问预定义的本地文件夹以保存提取的附件。
高效解决前景问题
由于 Outlook 公认容易出错,因此在处理 Outlook 对象时必须保持谨慎,例如永远不要相信未知电子邮件中嵌入的文件或链接等。 否则,您的 Outlook 文件很容易损坏。 在那种情况下,即使是内部修复工具也无济于事。 您只能求助于经验丰富的外部实用程序,例如 DataNumen Outlook Repair。 它可以 修复 PST 毫不费力地归档。
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 损坏的sql 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com


