Mungkin Anda telah menyimpan beberapa email Outlook dalam format .msg di folder Windows. Dan nanti, Anda ingin mengekstrak lampiran dari file-file ini, Anda dapat menggunakan cara yang dibagikan di artikel ini.
Sangat mudah untuk mengekstrak lampiran dari email di Outlook Anda. Tapi bagaimana dengan email yang telah diekspor sebagai file .msg di folder Windows? Secara umum, Anda harus terlebih dahulu membuka file .msg ini di Outlook, lalu menyimpan lampirannya satu per satu. Mungkin Anda akan merasa itu terlalu merepotkan. Jadi, setelah itu, kami akan mengajari Anda solusi lain yang lebih cepat.
Ekstrak Lampiran dari Semua File Pesan Outlook di Folder Windows
- Pertama-tama, buka aplikasi Outlook Anda dan jalankan editor VBA.
- Kemudian, di jendela "Microsoft Visual Basic for Applications", salin kode VBA di bawah ini ke 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
- Selanjutnya, pindahkan kursor ke subrutin pertama dan tekan tombol “F5”.
- Setelah itu, Anda akan diminta untuk memilih folder Windows sumber di kotak dialog popup.
- Setelah klik "OK", makro akan terus bekerja.
- Jika sudah selesai, Anda akan menerima pesan "Selesai".
- Sekarang, Anda bisa mendapatkan akses ke folder lokal yang telah ditentukan untuk menyimpan lampiran yang diekstrak.
Selesaikan Masalah Outlook Secara Efisien
Karena Outlook memang rentan kesalahan, Anda harus tetap berhati-hati saat menangani objek Outlook, seperti tidak pernah mempercayai file atau tautan yang disematkan di email yang tidak dikenal dan sebagainya. Jika tidak, file Outlook Anda dapat langsung rusak. Dalam keadaan itu, bahkan alat perbaikan internal tidak akan banyak membantu. Apa yang dapat Anda gunakan hanyalah utilitas eksternal yang berpengalaman, seperti DataNumen Outlook Repair. Hal ini dapat perbaiki PST mengajukan dengan mudah.
Pengantar Penulis:
Shirley Zhang adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk sql rusak dan produk perangkat lunak perbaikan pandangan. Untuk informasi lebih lanjut kunjungi www.datanumen.com


