Когда вы получаете электронное письмо с несколькими книгами Excel, если вы хотите проверить содержимое всех книг в одной книге, вы можете использовать способ, описанный в этой статье. Он экспортирует несколько вложений книг Excel в одну книгу.
Чтобы просмотреть все вложения электронной почты в книгу Excel в одной книге Excel, вы должны сначала объединить и экспортировать эти вложения в одну книгу. Вместо того, чтобы делать это вручную, вы можете использовать следующий метод, чтобы добиться этого с легкостью. Он научит вас использовать код VBA для достижения этой цели. Что касается того, как использовать VBA, вы можете обратиться к post Как запустить код VBA в Outlook».

Объединение и экспорт нескольких вложений книги Excel в одну книгу
- Для насtart, запустите приложение Outlook.
- Затем откройте редактор Outlook VBA.
- Далее в новом окне «Microsoft Visual Basic для приложений» необходимо включить «MS Excel Object Library», о чем вы можете прочитать в статье — «Как добавить объектную библиотекуrary Ссылка в VBA».
- Затем скопируйте следующий код 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
- После этого вы можете закрыть окно и добавить новый макрос на панель быстрого доступа.
- Позже укажите исходный адрес электронной почты в списке рассылки.
- Затем, удерживая нажатой клавишу «Ctrl», выберите вложения книги Excel, которые вы хотите экспортировать.
- Затем нажмите кнопку макроса на панели быстрого доступа.
- Когда макрос завершится, появится новая книга Excel. Он будет содержать содержимое ранее выбранных книг Excel.
Вернитесь к более мощному внешнему инструменту восстановления
При встрече с повреждением Outlook, мost пользователи будут склонны использовать инструмент для ремонта входящих чтобы попробовать в первую очередь. Однако в случае серьезных повреждений это не поможет. В этот момент у вас нет другого выбора, кроме как воспользоваться помощью внешнего надежного и опытного инструмента, такого как DataNumen Outlook Repair.
Об авторе:
Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая восстановление мдф и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com


