Kartais galbūt norėsite suspausti visus el. laiško priedus į a zip failą tiesiogiai „Outlook“. Tokiu atveju galite naudoti VBA kodą, pristatytą šiame straipsnyje, kad pasiektumėte šią funkciją.
Pagal numatytuosius nustatymus „Outlook“ turi priedo dydžio apribojimą – 20 MB POP3, IMAP ar kitoms žiniatinklio el. pašto paskyroms ir 10 MB „Exchange“ paskyroms. Taigi, kai bendras priedų dydis viršija limitą, gausite susijusių klaidų. Šiuo atveju geras pasirinkimas suspausti visus priedus į a zip failas.
Tačiau, kaip matote, „Outlook“ nesiūlo tokios tiesioginės funkcijos. Tai reiškia, kad pirmiausia reikia zip šiuos failus standžiajame diske ir iš naujo pridėkite naujai sukurtus zip failą. Realiai most vartotojai tikisi, kad jie galės tai pasiekti tiesiogiai naudodami „Outlook“. Atsižvelgdami į šį reikalavimą, toliau pristatysime, kaip naudoti VBA, kad jį įgyvendintume.
Suspausti visus priedus į a Zip filė
- Pirmiausia paleiskite „Outlook“ programą.
- Tada pagrindiniame „Outlook“ lange paspauskite klavišus „Alt + F11“.
- Tada naujame Outlook VBA redaktoriaus lange atidarykite modulį.
- Tada nukopijuokite ir įklijuokite šiuos VBA kodus į modulį.
Sub ZipAttachments()
Dim objMail As Outlook.MailItem
Dim objAttachments As Outlook.attachments
Dim objAttachment As Outlook.Attachment
Dim objFileSystem As Object
Dim objShell As Object
Dim varTempFolder As Variant
Dim varZipFile As Variant
'Save the attachments to Temporary folder
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
varTempFolder = objFileSystem.GetSpecialFolder(2).Path & "\Temp " & Format(Now, "dd-mm-yyyy- hh-mm-ss-")
MkDir (varTempFolder)
varTempFolder = varTempFolder & "\"
Set objMail = Outlook.Application.ActiveInspector.CurrentItem
Set objAttachments = objMail.attachments
For Each objAttachment In objAttachments
objAttachment.SaveAsFile (varTempFolder & objAttachment.FileName)
Next
'Create a new zip file
varZipFile = InputBox("Specify a name for the new zip file", "Name Zip File", objMail.Subject)
varZipFile = objFileSystem.GetSpecialFolder(2).Path & "\" & varZipFile & ".zip"
Open varZipFile For Output As #1
Print #1, Chr$(80) & Chr$(75) & Chr$(5) & Chr$(6) & String(18, 0)
Close #1
'Copy all the saved attachments to the new zip file
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(varZipFile).CopyHere objShell.NameSpace(varTempFolder).Items
'Keep macro running until Compressing is done
On Error Resume Next
Do Until objShell.NameSpace(varZipFile).Items.Count = objShell.NameSpace(varTempFolder).Items.Count
Application.Wait (Now + TimeValue("0:00:01"))
Loop
On Error GoTo 0
'Delete all the attachments
Set objAttachments = objMail.attachments
While objAttachments.Count > 0
objAttachments.Item(1).Delete
Wend
'Add the new zip file to the current email
objMail.attachments.Add varZipFile
'Prompt
MsgBox ("Complete!")
End Sub
- Po to turite patikrinti „Outlook“ makrokomandos nustatymus, kad įsitikintumėte, jog makrokomanda leidžiama.
- Vėliau galite pridėti naują VBA projektą į pranešimų lango greitosios prieigos įrankių juostą, kaip įprasta.
- Galų gale galite pabandyti.
- Pirmiausia sukurkite naują el. laišką ir pridėkite kelis failus. Arba tiesiog atidarykite laišką su daugybe priedų.
- Tada greitosios prieigos įrankių juostoje spustelėkite makrokomandos mygtuką.
- Vėliau turėsite nurodyti pavadinimą zip failą ir paspauskite „Gerai“. Pagal numatytuosius nustatymus jis bus toks pat kaip ir el. pašto tema.
- Iš karto visi priedai bus suspausti į a zip failą, pavyzdžiui, šią ekrano kopiją:
Unzip .Zip Priedai tiesiogiai „Outlook“.
Neišvengiamai gausite priedus su „.zip“ failo plėtinys kartais. Šiuo atveju galbūt norėsite tiesiogiai atjungtizip tokius failus iš „Outlook“, o ne išsaugoję ir išglaudę juos vietiniame diske. Nors „Outlook“ neturi tokios savosios funkcijos, vis tiek galite naudoti VBA, kad ją gautumėte. Norėdami gauti daugiau informacijos, galite peržiūrėti kitą straipsnį - "Kaip Unzip .Zip Priedai tiesiogiai „Outlook“ per VBA".
Autoriaus įvadas:
Shirley Zhang yra duomenų atkūrimo ekspertė DataNumen, Inc., kuri yra pasaulyje duomenų atkūrimo technologijų lyderė, įskaitant sql taisymas ir „Outlook“ taisymo programinės įrangos produktai. Norėdami gauti daugiau informacijos, apsilankykite WWW.datanumen.com



