Ehtimol, siz Windows papkasida .msg formatida bir nechta Outlook elektron pochta xabarlarini saqlagansiz. Keyinchalik, siz ushbu fayllardan qo'shimchalarni chiqarmoqchi bo'lsangiz, ushbu maqolada baham ko'rilgan usuldan foydalanishingiz mumkin.
Outlook-dagi elektron pochta xabarlaridan qo'shimchalarni olish juda oson. Ammo Windows papkasida .msg fayllari sifatida eksport qilingan elektron pochta xabarlari haqida nima deyish mumkin? Umuman olganda, siz avval ushbu .msg fayllarini Outlook-da ochishingiz va keyin ulardan birma-bir qo'shimchalarni saqlashingiz kerak. Ehtimol, siz buni juda og'ir his qilasiz. Shunday qilib, bundan keyin biz sizga yana bir tezroq yechimni o'rgatamiz.
Windows papkasidagi barcha Outlook xabar fayllaridan qo'shimchalarni chiqarib oling
- Boshlash uchun Outlook dasturingizni ishga tushiring va VBA muharririni ishga tushiring.
- Keyin, "Microsoft Visual Basic for Applications" oynasida quyidagi VBA kodini foydalanilmagan modulga nusxalang.
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
- Keyin kursorni birinchi pastki dasturga olib boring va "F5" tugmasini bosing.
- Shundan so'ng, sizdan qalqib chiquvchi dialog oynasida manba Windows papkasini tanlashingiz talab qilinadi.
- "OK" tugmasini bosgandan so'ng makros ishlashni davom ettiradi.
- Ish tugagach, siz "Bajarildi" xabarini olasiz.
- Endi siz chiqarilgan qo'shimchalarni saqlash uchun oldindan belgilangan mahalliy jildga kirishingiz mumkin.
Outlook muammolarini samarali hal qiling
Outlook xatoga moyil bo'lganligi sababli, Outlook ob'ektlari bilan ishlashda ehtiyot bo'lishingiz kerak, masalan, noma'lum elektron pochta xabarlariga o'rnatilgan fayllar yoki havolalarga hech qachon ishonmaslik va hokazo. Aks holda, Outlook faylingiz tezda buzilishi mumkin. Bunday holda, hatto ichki tuzatish vositasi ham juda ko'p yordam bermaydi. Siz murojaat qilishingiz mumkin bo'lgan narsa faqat tajribali tashqi yordam dasturidir, masalan DataNumen Outlook Repair. U qila oladi PST ni tuzatish osonlik bilan fayl.
Muallif kirish:
Shirli Chjan ma'lumotlarni qayta tiklash bo'yicha mutaxassis DataNumenMa'lumotlarni qayta tiklash texnologiyalari bo'yicha jahon yetakchisi bo'lgan , Inc buzilgan sql va Outlook ta'mirlash dasturiy mahsulotlar. Qo'shimcha ma'lumot olish uchun tashrif buyuring www.datanumen.com


