Když obdržíte e-mail v příloze s více sešity aplikace Excel a chcete zkontrolovat obsah všech sešitů v jednom sešitu, můžete použít způsob v tomto článku. Exportuje více příloh excelového sešitu do jednoho sešitu.
Chcete-li zobrazit všechny přílohy e-mailu z excelového sešitu v jednom excelovém sešitu, měli byste nejprve tyto přílohy sloučit a exportovat do jednoho sešitu. Místo ručního provádění můžete k dosažení tohoto cíle snadno použít následující metodu. Naučí vás používat kód VBA. Informace o používání VBA naleznete v příspěvku „Jak spustit kód VBA ve vašem Outlooku".

Sloučit a exportovat více příloh sešitu Excel do jednoho sešitu
- Pro začátek spusťte aplikaci Outlook.
- Poté otevřete editor Outlook VBA.
- Dále v novém okně „Microsoft Visual Basic for Applications“ musíte povolit „Knihovnu objektů MS Excel“, o které se můžete podívat v článku – „Jak přidat odkaz na knihovnu objektů ve VBA".
- Následně zkopírujte následující kód VBA do projektu nebo modulu.
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
- Poté můžete zavřít okno a přidat nové makro na panel nástrojů Rychlý přístup.
- Později uveďte zdrojový e-mail v seznamu pošty.
- Poté podržte klávesu „Ctrl“ a vyberte přílohy sešitu Excel, které chcete exportovat.
- Dále klikněte na tlačítko makra na panelu nástrojů Rychlý přístup.
- Po dokončení makra se zobrazí nový sešit aplikace Excel. Bude obsahovat obsah dříve vybraných excelových sešitů.
Vsaďte na silnější nástroj pro externí opravu
Při setkání s poškozením Outlooku bude většina uživatelů používat nástroj pro opravu doručené pošty na prvním místě zkusit. V případě vážného poškození to však moc nepomůže. V tu chvíli vám nezbývá nic jiného, než si vzít na pomoc externí spolehlivý a zkušený nástroj, jako je např DataNumen Outlook Repair.
Úvod autora:
Shirley Zhang je expertem na obnovu dat DataNumen, Inc., která je světovým lídrem v oblasti technologií pro obnovu dat, včetně zotavení mdf a výhledové softwarové produkty pro opravy. Pro více informací navštivte www.datanumen.com


