Možná jste uložili více e-mailů aplikace Outlook ve formátu .msg ve složce Windows. A později budete chtít extrahovat přílohy z těchto souborů, můžete použít způsob sdílený v tomto článku.
Je docela snadné extrahovat přílohy z e-mailů v aplikaci Outlook. Ale co e-maily, které byly exportovány jako soubory .msg ve složce Windows? Obecně musíte tyto soubory .msg nejprve otevřít v aplikaci Outlook a poté z nich jednu po druhé ukládat přílohy. Možná se vám to bude zdát příliš těžkopádné. Dále vás tedy naučíme další mnohem rychlejší řešení.
Extrahujte přílohy ze všech souborů zpráv aplikace Outlook ve složce Windows
- Nejprve spusťte aplikaci Outlook a editor VBA.
- Poté v okně „Microsoft Visual Basic for Applications“ zkopírujte níže uvedený kód VBA do nepoužívaného modulu.
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
- Následně přesuňte kurzor do prvního podprogramu a stiskněte klávesu „F5“.
- Poté budete muset ve vyskakovacím dialogovém okně vybrat zdrojovou složku Windows.
- Po kliknutí na „OK“ bude makro nadále fungovat.
- Po dokončení obdržíte zprávu „Dokončeno“.
- Nyní můžete získat přístup k předdefinované místní složce pro ukládání extrahovaných příloh.
Efektivní řešení problémů s aplikací Outlook
Vzhledem k tomu, že Outlook je nepochybně náchylný k chybám, musíte být při práci s objekty aplikace Outlook opatrní, například nikdy nedůvěřovat souborům nebo odkazům vloženým do neznámých e-mailů a tak dále. V opačném případě se může váš soubor aplikace Outlook snadno poškodit. Za těchto okolností ani nástroj vnitřní opravy moc nepomůže. K čemu se můžete uchýlit, je pouze zkušený externí nástroj, jako je DataNumen Outlook Repair. To může opravit PST pilník bez námahy.
Ú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ě poškozený sql a výhledové softwarové produkty pro opravy. Pro více informací navštivte www.datanumen.com


