Czasami możesz chcieć skompresować wszystkie załączniki wiadomości e-mail do pliku zip plik bezpośrednio w Outlooku. W takim przypadku możesz użyć kodu VBA przedstawionego w tym artykule, aby osiągnąć tę funkcję.
Domyślnie Outlook ma limit rozmiaru załączników - 20 MB dla kont POP3, IMAP lub innych internetowych kont e-mail oraz 10 MB dla kont Exchange. Tak więc, gdy łączny rozmiar załączników przekroczy limit, pojawią się powiązane błędy. W takim przypadku dobrym rozwiązaniem jest skompresowanie wszystkich załączników do pliku zip plik.
Jednak, jak widać, Outlook nie oferuje takiej bezpośredniej funkcji. Oznacza to, że musisz najpierw zip te pliki na dysku twardym, a następnie ponownie dołącz nowo utworzone pliki zip plik. W rzeczywistości m. Inost użytkownicy mają nadzieję, że mogą to osiągnąć bezpośrednio w programie Outlook. W odpowiedzi na to wymaganie poniżej przedstawimy, jak używać języka VBA do jego realizacji.
Skompresuj wszystkie załączniki do pliku Zip Plik
- W pierwszej kolejności uruchom aplikację Outlook.
- Następnie naciśnij klawisze „Alt + F11” w głównym oknie Outlooka.
- Następnie w nowym oknie edytora Outlook VBA otwórz moduł.
- Następnie skopiuj i wklej następujące kody VBA do modułu.
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
- Następnie musisz sprawdzić ustawienia makr programu Outlook, aby upewnić się, że makro jest dozwolone.
- Później możesz jak zwykle dodać nowy projekt VBA do paska narzędzi szybkiego dostępu w oknie wiadomości.
- W końcu możesz spróbować.
- Najpierw utwórz nową wiadomość e-mail i załącz kilka plików. Lub po prostu otwórz wiadomość z wieloma załącznikami.
- Następnie kliknij przycisk makra na pasku narzędzi szybkiego dostępu.
- Później musisz określić nazwę dla zip plik i naciśnij „OK”. Domyślnie będzie taki sam jak temat wiadomości.
- Od razu wszystkie załączniki zostaną skompresowane do pliku zip plik, jak na poniższym zrzucie ekranu:
Unzip .Zip Załączniki bezpośrednio w programie Outlook
Nieuniknione jest, że otrzymasz wszelkie przywiązania z „.zip”Rozszerzenie pliku od czasu do czasu. W tym scenariuszu możesz od razu odłączyćzip takie pliki z programu Outlook zamiast zapisywać je i dekompresować na dysku lokalnym. Mimo że Outlook nie ma takiej natywnej funkcji, nadal możesz użyć VBA, aby ją uzyskać. Więcej informacji można znaleźć w innym artykule - „Jak Unzip .Zip Załączniki bezpośrednio w Outlooku za pośrednictwem VBA".
Wprowadzenie autora:
Shirley Zhang jest ekspertem w dziedzinie odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym poprawka sql i oprogramowanie do naprawy programu Outlook. po więcej informacji odwiedź www.datanumen.com



