Przejdź do głównej zawartości

Jak zbiorczo zapisać wiele wybranych e-maili jako pliki MSG w Outlooku?

Zapisanie wiadomości e-mail jako pliku MSG w programie Outlook jest łatwe. Jak zbiorczo zapisać wiele wybranych wiadomości e-mail jako pojedyncze pliki MSG w programie Outlook? W tym artykule dowiesz się, jak to osiągnąć.

Zapisz wiele wybranych wiadomości e-mail jako pliki MSG z kodem VBA


Zapisz wiele wybranych wiadomości e-mail jako pliki MSG z kodem VBA

Poniższy kod VBA może pomóc w zbiorczym zapisywaniu wielu wybranych wiadomości e-mail jako pojedynczych plików MSG w programie Outlook. Wykonaj następujące czynności.

1. Wybierz wiadomości e-mail, które chcesz zapisać jako pliki MSG. Następnie naciśnij jednocześnie klawisze Alt + F11, aby otworzyć okno Microsoft Visual Basic for Applications.

2. W oknie Microsoft Visual Basic for Applications kliknij Wstaw> Moduł, a następnie skopiuj poniższy kod VBA do okna Moduł.

Kod VBA: zapisz wiele wybranych e-maili jako pojedyncze pliki MSG w Outlooku

Public Sub SaveMessageAsMsg()
'Update by Extendoffice 2018/3/5
Dim xMail As Outlook.MailItem
Dim xObjItem As Object
Dim xPath As String
Dim xDtDate As Date
Dim xName, xFileName As String
On Error Resume Next
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.BrowseForFolder(0, "Select a folder:", 0, strStartingFolder)
If Not TypeName(xFolder) = "Nothing" Then
    Set xFolderItem = xFolder.self
    xFileName = xFolderItem.Path & "\"
Else
    xFileName = ""
    Exit Sub
End If
For Each xObjItem In Outlook.ActiveExplorer.Selection
    If xObjItem.Class = olMail Then
        Set xMail = xObjItem
        xName = xMail.Subject
        xDtDate = xMail.ReceivedTime
        xName = Format(xDtDate, "yyyymmdd", vbUseSystemDayOfWeek, _
          vbUseSystem) & Format(xDtDate, "-hhnnss", _
          vbUseSystemDayOfWeek, vbUseSystem) & "-" & xName & ".msg"
        xPath = xFileName + xName
        xMail.SaveAs xPath, olMSG
    End If
Next
End Sub

3. Naciśnij klawisz F5, aby uruchomić kod.

4. W oknie dialogowym Przeglądaj w poszukiwaniu folderu określ folder, w którym mają zostać zapisane pliki MSG, a następnie kliknij przycisk OK. Zobacz zrzut ekranu:

Teraz wszystkie wybrane e-maile są zapisywane jako pojedyncze pliki MSG, jak pokazano na zrzucie ekranu.


Z łatwością zapisuj wybrane wiadomości e-mail jako pliki w różnych formatach w programie Outlook:

Z Zapisz zbiorczo użyteczność Kutools dla programu Outlook, możesz łatwo zapisać wiele wybranych wiadomości e-mail jako pojedynczy plik w formacie HTML, plik w formacie TXT, dokument Word, plik CSV, a także plik PDF w programie Outlook, jak pokazano na poniższym zrzucie ekranu. Pobierz i wypróbuj teraz! (60-dniowy bezpłatny szlak)


Najlepsze narzędzia biurowe

Kutools dla programu Outlook - Ponad 100 zaawansowanych funkcji, które usprawnią Twoje perspektywy

🤖 Asystent poczty AI: Natychmiastowe profesjonalne e-maile z magią AI — genialne odpowiedzi jednym kliknięciem, doskonały ton, biegła znajomość wielu języków. Zmień e-mailing bez wysiłku! ...

📧 Automatyzacja poczty e-mail: Poza biurem (dostępne dla POP i IMAP)  /  Zaplanuj wysyłanie wiadomości e-mail  /  Automatyczne CC/BCC według reguł podczas wysyłania wiadomości e-mail  /  Automatyczne przewijanie (Zasady zaawansowane)   /  Automatyczne dodawanie powitania   /  Automatycznie dziel wiadomości e-mail od wielu odbiorców na pojedyncze wiadomości ...

📨 Zarządzanie e-mail: Łatwe przywoływanie e-maili  /  Blokuj oszukańcze wiadomości e-mail według tematów i innych  /  Usuń zduplikowane wiadomości e-mail  /  Wiecej opcji  /  Konsoliduj foldery ...

📁 Załączniki ProZapisz zbiorczo  /  Odłącz partię  /  Kompresuj wsadowo  /  Automatyczne zapisywanie   /  Automatyczne odłączanie  /  Automatyczna kompresja ...

🌟 Magia interfejsu: 😊Więcej ładnych i fajnych emotikonów   /  Zwiększ produktywność programu Outlook dzięki widokom na kartach  /  Zminimalizuj program Outlook zamiast go zamykać ...

>> Cuda jednym kliknięciem: Odpowiedz wszystkim, dodając przychodzące załączniki  /   E-maile chroniące przed phishingiem  /  🕘Pokaż strefę czasową nadawcy ...

👩🏼‍🤝‍👩🏻 Kontakty i kalendarz: Grupowe dodawanie kontaktów z wybranych e-maili  /  Podziel grupę kontaktów na pojedyncze grupy  /  Usuń przypomnienia o urodzinach ...

O Cechy 100 Poczekaj na eksplorację! Kliknij tutaj, aby dowiedzieć się więcej.

 

 

Comments (5)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
It doesn't seem to work when emails are displayed in conversation mode or from a Group folder.
This comment was minimized by the moderator on the site
Hi, i am new to macro. i am looking for a macro that allows me to save the filename, not by subject or time. But by the reference # found inside the email body. This macro works well when i save multiple emails into my folder. But as i want each email to be saved using the reference #, would you have a macro for it? The reference # is found on the 6th row of the emails body (REF : WL344ET2), that i received everyday. Appreciate if anyone can help on this and thank you in advance.
This comment was minimized by the moderator on the site
When there is a ":" in the subject, this code cannot copy the whole subject to be the name of the saved message, is there any way to solve this problem?
This comment was minimized by the moderator on the site
change line 21 to xName="". The saved message filname will not include the subject anymore.
This comment was minimized by the moderator on the site
A better way is to always replace ":" with blanks adding this line under xName = xMail.Subject

xName = Replace(xName, ":", "")
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations