如何在 Outlook 中快速合併和導出多個 Excel 工作簿附件到一個工作簿中

立即分享:

當您收到一封附有多個 Excel 工作簿的電子郵件時,如果您想查看單個工作簿中所有工作簿的內容,可以使用本文中的方式。 它將多個Excel工作簿附件導出到一個工作簿。

要在一個 Excel 工作簿中查看一封電子郵件的所有 Excel 工作簿附件,您應該首先將這些附件合併並導出到一個工作簿中。 您可以使用以下方法輕鬆實現這一點,而不是手動執行此操作。 它將教您使用 VBA 代碼來實現這一點。 至於如何使用VBA,可以參考post “如何在Outlook中運行VBA代碼“。

在 Outlook 中快速合併和導出多個 Excel 工作簿附件到一個工作簿中

將多個 Excel 工作簿附件合併並導出到一個工作簿中

  1. 對於作為tart,啟動您的Outlook應用程序。
  2. 然後,訪問 Outlook VBA 編輯器。
  3. 接下來,在新的“Microsoft Visual Basic for Applications”窗口中,您需要啟用“MS Excel Object Library”,可以參考文章——“如何添加對像庫rary VBA中的參考“。
  4. 隨後,將以下 VBA 代碼複製到項目或模塊中。
Sub CombineMultipleExcelWorkbookAttachmensIntoOne()
    Dim objSelectedAttachments As Outlook.AttachmentSelection
    Dim objAttachment As Outlook.Attachment
    Dim strTempFolder As String
    Dim objExcelApp As Excel.Application
    Dim objExcelWorkbook As Excel.Workbook
    Dim objExcelWorksheet As Excel.Worksheet
    Dim strFile As String
    Dim objCurrentSheet As Excel.Worksheet
    Dim objCurrentBook As Excel.Workbook
    Dim objSheet As Excel.Worksheet
    Dim objFileSystem As Object
 
    On Error Resume Next
    'Create a new temp folder
    strTempFolder = "E:\Temp" & Format(Now, "yyymmddhhmmss") & "\"
    MkDir (strTempFolder)
 
    'Save selected attachments
    Set objSelectedAttachments = Outlook.Application.ActiveExplorer.AttachmentSelection
    For Each objAttachment In objSelectedAttachments
        objAttachment.SaveAsFile (strTempFolder & objAttachment.FileName)
    Next
 
    'Copy all the workbooks into a new file
    Set objExcelApp = CreateObject("Excel.Application")
    objExcelApp.Visible = True
    Set objExcelWorkbook = objExcelApp.Workbooks.Add
    objExcelWorkbook.Activate
 
    strFile = Dir(strTempFolder)
    Do While strFile <> ""
       Set objCurrentBook = objExcelApp.Workbooks.Open(strTempFolder & strFile)
       For Each objCurrentSheet In objCurrentBook.Sheets
           objCurrentSheet.Copy Before:=objExcelWorkbook.Sheets(1)
       Next
 
       objExcelApp.Workbooks(strFile).Close
       strFile = Dir()
    Loop
 
    'Remove empty sheets
    objExcelApp.DisplayAlerts = False
    For Each objSheet In objExcelWorkbook.Worksheets
        If objExcelApp.WorksheetFunction.CountA(objSheet.Cells) = 0 Then
           objSheet.Delete
        End If
    Next
    objExcelApp.DisplayAlerts = True
 
    'Delete the temp folder
    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    objFileSystem.DeleteFolder (strTempFolder)
End Sub

VBA 代碼 - 將多個 Excel 工作簿附件合併並導出到一個工作簿中

  1. 之後,您可以關閉窗口並將新宏添加到快速訪問工具欄。
  2. 稍後,在郵件列表中選擇源電子郵件。
  3. 然後,按住“Ctrl”鍵選擇要導出的 Excel 工作簿附件。
  4. 接下來,單擊快速訪問工具欄中的宏按鈕。快速訪問工具欄中的運行宏按鈕
  5. 宏完成後,將顯示一個新的 Excel 工作簿。 它將包含先前選擇的Excel工作簿的內容。導出的Excel工作簿

依靠更強大的外部修復工具

當遇到 Outlook 損壞時,most 用戶將傾向於利用 收件箱維修工具 首先要嘗試一下。 但是,在嚴重損壞的情況下,它不會有太大幫助。 此時,您別無選擇,只能藉助外部可靠且經驗豐富的工具,例如 DataNumen Outlook Repair.

作者簡介:

Shirley Zhang是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 mdf恢復 和Outlook修復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM

立即分享:

評論被關閉。