შესაძლოა თქვენ გაქვთ შენახული რამდენიმე Outlook ელ.წერილი .msg ფორმატში Windows საქაღალდეში. მოგვიანებით კი, თუ გსურთ ამ ფაილებიდან დანართების ამოღება, შეგიძლიათ გამოიყენოთ ამ სტატიაში გაზიარებული გზა.
საკმაოდ მარტივია დანართების ამოღება ელ.წერილებიდან თქვენს Outlook-ში. მაგრამ რაც შეეხება წერილებს, რომლებიც ექსპორტირებული იქნა როგორც .msg ფაილები Windows საქაღალდეში? ზოგადად, თქვენ ჯერ უნდა გახსნათ ეს .msg ფაილები თქვენს Outlook-ში და შემდეგ შეინახოთ დანართები მათგან სათითაოდ. ალბათ თქვენ იგრძნობთ მას ძალიან უხერხულად. ასე რომ, შემდგომში ჩვენ გასწავლით სხვა ბევრად უფრო სწრაფ გამოსავალს.
ამოიღეთ დანართები ყველა Outlook შეტყობინების ფაილიდან Windows საქაღალდეში
- დასაწყებად, გაუშვით თქვენი Outlook აპლიკაცია და გაუშვით VBA რედაქტორი.
- შემდეგ, "Microsoft Visual Basic აპლიკაციებისთვის" ფანჯარაში დააკოპირეთ ქვემოთ მოცემული VBA კოდი გამოუყენებელ მოდულში.
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
- შემდეგ გადაიტანეთ კურსორი პირველ ქვეპროგრამაში და დააჭირეთ ღილაკს "F5".
- ამის შემდეგ, თქვენ უნდა აირჩიოთ წყარო Windows საქაღალდე ამომხტარ დიალოგურ ფანჯარაში.
- "OK" დაწკაპუნების შემდეგ, მაკრო გააგრძელებს მუშაობას.
- როდესაც ის დასრულდება, თქვენ მიიღებთ შეტყობინებას "დასრულებულია".
- ახლა თქვენ შეგიძლიათ მიიღოთ წვდომა წინასწარ განსაზღვრულ ლოკალურ საქაღალდეზე ამოღებული დანართების შესანახად.
მოაგვარეთ Outlook-ის პრობლემები ეფექტურად
იმის გამო, რომ Outlook აშკარად მიდრეკილია შეცდომებისადმი, თქვენ უნდა იყოთ ფრთხილად Outlook-ის ობიექტებთან ურთიერთობისას, როგორიცაა არასოდეს ენდოთ ფაილებს ან ბმულებს, რომლებიც ჩაშენებულია უცნობ ელ.წერილებში და ა.შ. წინააღმდეგ შემთხვევაში, თქვენი Outlook ფაილი შეიძლება ადვილად დაზიანდეს. ამ ვითარებაში, შიდა გამოსწორების ხელსაწყოც კი არ იქნება დიდი დახმარება. რასაც შეგიძლიათ მიმართოთ არის მხოლოდ გამოცდილი გარე პროგრამა, მაგალითად DataNumen Outlook Repair. Მას შეუძლია შეასწორეთ PST ფაილი უპრობლემოდ.
ავტორი შესავალი:
შირლი ჟანგი არის მონაცემთა აღდგენის ექსპერტი DataNumen, Inc., რომელიც მსოფლიო ლიდერია მონაცემთა აღდგენის ტექნოლოგიებში, მათ შორის დაზიანებული sql და Outlook სარემონტო პროგრამული პროდუქტები. დამატებითი ინფორმაციისთვის ეწვიეთ www.datanumen. ერთად


