Ehkä olet tallentanut useita Outlook-sähköpostiviestejä .msg-muodossa Windows-kansioon. Ja myöhemmin, jos haluat purkaa liitteet näistä tiedostoista, voit käyttää tässä artikkelissa kuvattua tapaa.
Outlookin sähköpostiviesteistä on melko helppoa poimia liitteitä. Mutta entä sähköpostit, jotka on viety .msg-tiedostoina Windows-kansioon? Yleensä sinun on ensin avattava nämä .msg-tiedostot Outlookissa ja sitten tallennettava liitteet niistä yksitellen. Ehkä tunnet sen liian raskaalta. Joten tämän jälkeen opetamme sinulle toisen paljon nopeamman ratkaisun.
Pura liitteet kaikista Windows-kansion Outlook-viestitiedostoista
- Aloita käynnistämällä Outlook-sovelluksesi ja suorittamalla VBA-editori.
- Kopioi sitten alla oleva VBA-koodi Microsoft Visual Basic for Applications -ikkunaan käyttämättömään moduuliin.
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
- Siirrä sitten kohdistin ensimmäiseen aliohjelmaan ja paina "F5"-näppäintä.
- Tämän jälkeen sinun on valittava Windows-lähdekansio ponnahdusikkunassa.
- Kun napsautat "OK", makro jatkaa toimintaansa.
- Kun se on valmis, saat "Valmis" -viestin.
- Nyt voit päästä käsiksi ennalta määritettyyn paikalliseen kansioon purettujen liitteiden tallentamista varten.
Ratkaise Outlook-ongelmat tehokkaasti
Koska Outlook on kieltämättä virhealtis, sinun on oltava varovainen käsitellessäsi Outlook-objekteja, kuten koskaan luotamatta tuntemattomiin sähköpostiviesteihin upotettuihin tiedostoihin tai linkkeihin ja niin edelleen. Muuten Outlook-tiedostosi voi vioittua helposti. Tässä tilanteessa edes sisäinen korjaustyökalu ei ole paljon apua. Se, mihin voit turvautua, on vain kokenut ulkoinen apuohjelma, kuten DataNumen Outlook Repair. Se voi korjaa PST tiedosto vaivattomasti.
Tekijän esittely:
Shirley Zhang on tietojen palauttamisen asiantuntija DataNumen, Inc., joka on maailman johtava tietojen palautustekniikoissa, mukaan lukien vioittunut sql ja Outlookin korjausohjelmistotuotteet. Lisätietoja osoitteessa www.datanumen.com


