Πώς να εξαγάγετε μηνύματα ηλεκτρονικού ταχυδρομείου από πολλούς φακέλους / υποφακέλους για να υπερέχετε στο Outlook;
Κατά την εξαγωγή ενός φακέλου με τον Οδηγό εισαγωγής και εξαγωγής στο Outlook, δεν υποστηρίζει το Συμπερίληψη υποφακέλων επιλογή εάν εξάγετε το φάκελο σε αρχείο CSV. Ωστόσο, θα είναι πολύ χρονοβόρα και κουραστική η εξαγωγή κάθε φακέλου σε αρχείο CSV και, στη συνέχεια, η μετατροπή του σε βιβλίο εργασίας Excel με μη αυτόματο τρόπο. Εδώ, αυτό το άρθρο θα εισαγάγει ένα VBA για γρήγορη εξαγωγή πολλαπλών φακέλων και υποφακέλων σε βιβλία εργασίας του Excel με ευκολία.
- Αυτόματο CC / BCC με κανόνες κατά την αποστολή email · Αυτόματη προώθηση Πολλαπλά email μέσω κανόνων. Αυτόματη απάντηση χωρίς διακομιστή ανταλλαγής και περισσότερες αυτόματες δυνατότητες ...
- Προειδοποίηση BCC - εμφάνιση μηνύματος όταν προσπαθείτε να απαντήσετε όλα εάν η διεύθυνση αλληλογραφίας σας βρίσκεται στη λίστα BCC. Υπενθύμιση όταν λείπουν συνημμένακαι περισσότερες λειτουργίες υπενθύμισης ...
- Απάντηση (Όλα) με όλα τα συνημμένα στη συνομιλία μέσω ταχυδρομείου. Απάντηση σε πολλά email ταυτόχρονα. Αυτόματη προσθήκη χαιρετισμού κατά την απάντηση Αυτόματη προσθήκη ημερομηνίας και ώρας στο θέμα ...
- Εργαλεία συνημμένου: Αυτόματη αποσύνδεση, Συμπίεση όλων, Μετονομασία όλων, Αυτόματη αποθήκευση όλων ... Γρήγορη αναφορά, Καταμέτρηση επιλεγμένων μηνυμάτων, Κατάργηση διπλών μηνυμάτων και επαφών ...
- Περισσότερες από 100 προηγμένες δυνατότητες θα λύστε τα περισσότερα από τα προβλήματά σας στο Outlook 2021 - 2010 ή στο Office 365. Πλήρεις δυνατότητες δωρεάν δοκιμή 60 ημερών.
Εξαγωγή πολλών μηνυμάτων ηλεκτρονικού ταχυδρομείου από πολλούς φακέλους / υποφακέλους στο Excel με VBA
Ακολουθήστε τα παρακάτω βήματα για να εξαγάγετε μηνύματα ηλεκτρονικού ταχυδρομείου από πολλούς φακέλους ή υποφακέλους σε βιβλία εργασίας του Excel με VBA στο Outlook.
1. Τύπος άλλος + F11 για να ανοίξετε το παράθυρο της Microsoft Visual Basic for Applications.
2. κλικ Κύριο θέμα > Μονάδα μέτρησηςκαι, στη συνέχεια, επικολλήστε κάτω από τον κώδικα VBA στο νέο παράθυρο Module.
VBA: Εξαγωγή μηνυμάτων ηλεκτρονικού ταχυδρομείου από πολλούς φακέλους και υποφακέλους στο Excel
Const MACRO_NAME = "Export Outlook Folders to Excel"
Sub ExportMain()
ExportToExcel "destination_folder_path\A.xlsx", "your_email_accouny\folder\subfolder_1"
ExportToExcel "destination_folder_path\B.xlsx", "your_email_accouny\folder\subfolder_2"
MsgBox "Process complete.", vbInformation + vbOKOnly, MACRO_NAME
End Sub
Sub ExportToExcel(strFilename As String, strFolderPath As String)
Dim olkMsg As Object
Dim olkFld As Object
Dim excApp As Object
Dim excWkb As Object
Dim excWks As Object
Dim intRow As Integer
Dim intVersion As Integer
If strFilename <> "" Then
If strFolderPath <> "" Then
Set olkFld = OpenOutlookFolder(strFolderPath)
If TypeName(olkFld) <> "Nothing" Then
intVersion = GetOutlookVersion()
Set excApp = CreateObject("Excel.Application")
Set excWkb = excApp.Workbooks.Add()
Set excWks = excWkb.ActiveSheet
'Write Excel Column Headers
With excWks
.Cells(1, 1) = "Subject"
.Cells(1, 2) = "Received"
.Cells(1, 3) = "Sender"
End With
intRow = 2
For Each olkMsg In olkFld.Items
'Only export messages, not receipts or appointment requests, etc.
If olkMsg.Class = olMail Then
'Add a row for each field in the message you want to export
excWks.Cells(intRow, 1) = olkMsg.Subject
excWks.Cells(intRow, 2) = olkMsg.ReceivedTime
excWks.Cells(intRow, 3) = GetSMTPAddress(olkMsg, intVersion)
intRow = intRow + 1
End If
Next
Set olkMsg = Nothing
excWkb.SaveAs strFilename
excWkb.Close
Else
MsgBox "The folder '" & strFolderPath & "' does not exist in Outlook.", vbCritical + vbOKOnly, MACRO_NAME
End If
Else
MsgBox "The folder path was empty.", vbCritical + vbOKOnly, MACRO_NAME
End If
Else
MsgBox "The filename was empty.", vbCritical + vbOKOnly, MACRO_NAME
End If
Set olkMsg = Nothing
Set olkFld = Nothing
Set excWks = Nothing
Set excWkb = Nothing
Set excApp = Nothing
End Sub
Public Function OpenOutlookFolder(strFolderPath As String) As Outlook.MAPIFolder
Dim arrFolders As Variant
Dim varFolder As Variant
Dim bolBeyondRoot As Boolean
On Error Resume Next
If strFolderPath = "" Then
Set OpenOutlookFolder = Nothing
Else
Do While Left(strFolderPath, 1) = "\"
strFolderPath = Right(strFolderPath, Len(strFolderPath) - 1)
Loop
arrFolders = Split(strFolderPath, "\")
For Each varFolder In arrFolders
Select Case bolBeyondRoot
Case False
Set OpenOutlookFolder = Outlook.Session.Folders(varFolder)
bolBeyondRoot = True
Case True
Set OpenOutlookFolder = OpenOutlookFolder.Folders(varFolder)
End Select
If Err.Number <> 0 Then
Set OpenOutlookFolder = Nothing
Exit For
End If
Next
End If
On Error GoTo 0
End Function
Function GetSMTPAddress(Item As Outlook.MailItem, intOutlookVersion As Integer) As String
Dim olkSnd As Outlook.AddressEntry
Dim olkEnt As Object
On Error Resume Next
Select Case intOutlookVersion
Case Is < 14
If Item.SenderEmailType = "EX" Then
GetSMTPAddress = SMTPEX(Item)
Else
GetSMTPAddress = Item.SenderEmailAddress
End If
Case Else
Set olkSnd = Item.Sender
If olkSnd.AddressEntryUserType = olExchangeUserAddressEntry Then
Set olkEnt = olkSnd.GetExchangeUser
GetSMTPAddress = olkEnt.PrimarySmtpAddress
Else
GetSMTPAddress = Item.SenderEmailAddress
End If
End Select
On Error GoTo 0
Set olkPrp = Nothing
Set olkSnd = Nothing
Set olkEnt = Nothing
End Function
Function GetOutlookVersion() As Integer
Dim arrVer As Variant
arrVer = Split(Outlook.Version, ".")
GetOutlookVersion = arrVer(0)
End Function
Function SMTPEX(olkMsg As Outlook.MailItem) As String
Dim olkPA As Outlook.propertyAccessor
On Error Resume Next
Set olkPA = olkMsg.propertyAccessor
SMTPEX = olkPA.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x5D01001E")
On Error GoTo 0
Set olkPA = Nothing
End Function
3. Παρακαλώ προσαρμόστε τον παραπάνω κωδικό VBA όπως χρειάζεστε.
(1) Αντικαταστήστε προορισμός_φάκελος_διαδρομή στον παραπάνω κώδικα με τη διαδρομή του φακέλου του φακέλου προορισμού, θα αποθηκεύσετε τα εξαγόμενα βιβλία εργασίας, όπως C: \ Users \ DT168 \ Documents \ TEST.
(2) Αντικαταστήστε το_email_accouny \ folder \ subfolder_1 και το_email_accouny \ folder \ subfolder_2 στον παραπάνω κώδικα με τις διαδρομές φακέλων των υποφακέλων στο Outlook, όπως Κέλι @extendoffice.com \ Εισερχόμενα \ Α και Κέλι @extendoffice.com \ Εισερχόμενα \ Β
4. Πάτα το F5 ή κάντε κλικ στο τρέξιμο για να εκτελέσετε αυτό το VBA. Και μετά κάντε κλικ στο OK κουμπί στο αναδυόμενο παράθυρο διαλόγου Εξαγωγή φακέλων Outlook στο Excel. Δείτε το στιγμιότυπο οθόνης:
Και τώρα τα email από όλους τους καθορισμένους υποφακέλους ή φακέλους στον παραπάνω κώδικα VBA εξάγονται και αποθηκεύονται σε βιβλία εργασίας του Excel.
Σχετικά άρθρα
Εξαγωγή μηνυμάτων κατά εύρος ημερομηνιών σε αρχείο Excel ή αρχείο PST στο Outlook
Εξαγωγή και εκτύπωση λίστας όλων των φακέλων και υποφακέλων στο Outlook
Kutools για Outlook - Φέρνει 100 προηγμένες δυνατότητες στο Outlook και κάνει την εργασία πολύ πιο εύκολη!
- Αυτόματο CC / BCC με κανόνες κατά την αποστολή email · Αυτόματη προώθηση Πολλαπλά μηνύματα ηλεκτρονικού ταχυδρομείου κατά παραγγελία. Αυτόματη απάντηση χωρίς διακομιστή ανταλλαγής και περισσότερες αυτόματες δυνατότητες ...
- Προειδοποίηση BCC - εμφάνιση μηνύματος όταν προσπαθείτε να απαντήσετε σε όλα εάν η διεύθυνση αλληλογραφίας σας βρίσκεται στη λίστα BCC; Υπενθύμιση όταν λείπουν συνημμένακαι περισσότερες λειτουργίες υπενθύμισης ...
- Απάντηση (Όλα) Με όλα τα συνημμένα στη συνομιλία μέσω ταχυδρομείου; Απάντηση σε πολλά email σε δευτερόλεπτα; Αυτόματη προσθήκη χαιρετισμού κατά την απάντηση Προσθήκη ημερομηνίας στο θέμα ...
- Εργαλεία συνημμένων: Διαχείριση όλων των συνημμένων σε όλα τα μηνύματα, Αυτόματη απόσπαση, Συμπίεση όλων, Μετονομασία όλων, Αποθήκευση όλων ... Γρήγορη αναφορά, Καταμέτρηση επιλεγμένων μηνυμάτων...
- Ισχυρά ανεπιθύμητα email κατά παραγγελία? Κατάργηση διπλότυπων μηνυμάτων και επαφών... Σας επιτρέπουν να κάνετε πιο έξυπνα, πιο γρήγορα και καλύτερα στο Outlook.











