Mungkin anda telah menyimpan banyak e-mel Outlook dalam format .msg dalam folder Windows. Dan kemudian, anda ingin mengekstrak lampiran dari fail ini, anda boleh menggunakan cara yang dikongsi dalam artikel ini.
Cukup mudah untuk mengekstrak lampiran dari e-mel di Outlook anda. Tetapi bagaimana dengan e-mel yang telah dieksport sebagai fail .msg dalam folder Windows? Secara amnya, anda harus terlebih dahulu membuka fail .msg ini di Outlook anda dan kemudian menyimpan lampiran dari satu persatu. Mungkin anda akan merasakannya terlalu membebankan. Oleh itu, selepas itu, kami akan mengajar anda penyelesaian lain yang lebih cepat.
Ekstrak Lampiran dari Semua Fail Mesej Outlook dalam Folder Windows
- Untuk bermula, mulakan aplikasi Outlook anda dan jalankan editor VBA.
- Kemudian, di tetingkap "Microsoft Visual Basic for Applications", salin kod VBA di bawah ke dalam modul yang tidak digunakan.
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
- Selepas itu, pindahkan kursor ke subrutin pertama dan tekan butang kekunci "F5".
- Selepas itu, anda diminta untuk memilih folder Windows sumber dalam kotak dialog pop timbul.
- Selepas klik "OK", makro akan terus berfungsi.
- Apabila selesai, anda akan menerima mesej "Selesai".
- Sekarang, anda boleh mendapatkan akses ke folder tempatan yang telah ditetapkan untuk menyimpan lampiran yang diekstrak.
Selesaikan Masalah Outlook dengan cekap
Oleh kerana Outlook diakui ralat, anda harus berhati-hati ketika berhadapan dengan objek Outlook, seperti tidak mempercayai fail atau pautan yang disertakan dalam e-mel yang tidak diketahui dan sebagainya. Jika tidak, fail Outlook anda akan mudah rosak. Dalam keadaan itu, alat pembaikan dalaman tidak akan banyak membantu. Apa yang anda boleh gunakan hanyalah utiliti luaran yang berpengalaman, seperti DataNumen Outlook Repair. Ia boleh betulkan PST fail dengan mudah.
Pengenalan Pengarang:
Shirley Zhang adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk sql rosak dan produk perisian pembaikan prospek. Untuk maklumat lebih lanjut, lawati www.datanumen.com


