如何通过VBA批量导出多封Outlook邮件到一个Word文档

立即分享:

如果要将多封 Outlook 邮件批量导出到单个 word 文档中,可以使用本文所示的 VBA 代码。 它可以帮助您在几秒钟内完成此任务。

我在之前的文章中曾经介绍过如何将 Outlook 邮件转换为 Word 文档——》将 Outlook 电子邮件转换为 Word 文档的 2 种有效方法”。 但是,该 p 中提到的 2 均表示ost 如果您想将多封电子邮件批量导出到一个 Word 文档中,将束手无策。 因此,在这里我们将教您另一种方法。 现在,请继续阅读以详细了解它。

通过 VBA 批量导出多封 Outlook 邮件到一个 Word 文档

将多封 Outlook 电子邮件批量导出到一个 Word 文档中

  1. 到tar然后,启动您的 Outlook 程序。
  2. 然后,进入 Outlook 主窗口后,您需要按“Alt + F11”键按钮。
  3. 接下来您将访问 Outlook VBA 编辑器,您应该在其中打开一个空白模块。
  4. 随后,将下面的 VBA 代码复制到打开的模块窗口中。
Sub ExportMultipleEmails_OneWordDocument()
    Dim objFileSystem As Object
    Dim strTempFolder As String
    Dim objSelection As Outlook.Selection
    Dim objMail As Outlook.MailItem
    Dim strFileName As String
    Dim objWordApp As Word.Application
    Dim objNewWordDocument As Word.Document
    Dim objWordRange As Word.Range
    Dim strWordDocument As String
    Dim i As Long
  
    'Create a temp folder
    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    strTempFolder = objFileSystem.GetSpecialFolder(2).Path & "\Temp" & Format(Now, "YYYYMMDDhhmmss")
    MkDir (strTempFolder)
 
    On Error Resume Next
    'Save each selected email as an individual Word document in a temp folder
    Set objSelection = Outlook.Application.ActiveExplorer.Selection
    For Each objMail In objSelection
        strFileName = objMail.Subject
 
        'Remove the unsupported characters in email subject
        strFileName = Replace(strFileName, "/", " ")
        strFileName = Replace(strFileName, "\", " ")
        strFileName = Replace(strFileName, ":", "")
        strFileName = Replace(strFileName, "?", " ")
        strFileName = Replace(strFileName, Chr(34), " ")
 
        objMail.SaveAs strTempFolder & "\" & strFileName & ".doc", olDoc
    Next
 
    'Merge all the Word documents into a single document
    Set objWordApp = CreateObject("Word.Application")
    Set objNewWordDocument = objWordApp.Documents.Add
 
    strWordDocument = Dir(strTempFolder & "\" & "*.doc")
    i = 0
    Do Until strWordDocument = ""
       i = i + 1
       Set objWordRange = objNewWordDocument.Range
       With objWordRange
           .Collapse wdCollapseEnd
           If i > 1 Then
             .InsertBreak wdSectionBreakNextPage
             .End = objNewWordDocument.Range.End
             .Collapse wdCollapseEnd
           End If
           .InsertFile strTempFolder & "\" & strWordDocument
      End With
      strWordDocument = Dir()
    Loop
 
    'Change the path as per your own needs
    objNewWordDocument.SaveAs "E:\Exported Emails " & Format(Now, "YYYY-MM-DD hh-mm-ss")
    objWordApp.Quit
 
    'Delete the temp folder
    objFileSystem.DeleteFolder (strTempFolder)
End Sub

VBA 代码 - 将多封 Outlook 邮件批量导出到一个 Word 文档中

  1. 之后,您最好将这个新的 VBA 项目添加到快速访问工具栏或功能区。
  2. 最终,您可以尝试一下。
  • 首先,选择多个 Outlook 电子邮件。
  • 然后找到并单击新添加的宏按钮。
  • 提示“完成”后,您可以浏览到预定义的本地文件夹以查找新的 Word 文档。
  • 打开此文档,您可以在其中看到所有选中的电子邮件都已导出。

将强大的恢复工具放在身边

尽管功能众多,但 Outlook 仍然无法避免错误。 如果您习惯于对错误置之不理,随着它们堆积起来,Outlook 崩溃肯定会发生。 到那时,必须重新使用强大而有效的恢复工具,例如 DataNumen Outlook Repair. 它精通 PST修复. 只要有了它,您就再也不用担心outlook数据丢失了。

作者简介:

Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 损坏的中密度纤维板 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。