Πώς να εξαγάγετε μηνύματα ηλεκτρονικού ταχυδρομείου από πολλούς φακέλους / υποφακέλους για να υπερέχετε στο Outlook;
Κατά την εξαγωγή ενός φακέλου με τον Οδηγό εισαγωγής και εξαγωγής στο Outlook, δεν υποστηρίζει το Συμπερίληψη υποφακέλων επιλογή εάν εξάγετε το φάκελο σε αρχείο CSV. Ωστόσο, θα είναι πολύ χρονοβόρα και κουραστική η εξαγωγή κάθε φακέλου σε αρχείο CSV και, στη συνέχεια, η μετατροπή του σε βιβλίο εργασίας Excel με μη αυτόματο τρόπο. Εδώ, αυτό το άρθρο θα εισαγάγει ένα VBA για γρήγορη εξαγωγή πολλαπλών φακέλων και υποφακέλων σε βιβλία εργασίας του Excel με ευκολία.
- Αυτοματοποιήστε την αποστολή email με Αυτόματο CC / BCC, Αυτόματη προώθηση με κανόνες? στείλετε Αυτόματη απάντηση (Εκτός γραφείου) χωρίς να απαιτείται διακομιστής ανταλλαγής...
- Λάβετε υπενθυμίσεις όπως Προειδοποίηση BCC όταν απαντάτε σε όλους όσο βρίσκεστε στη λίστα BCC και Υπενθύμιση όταν λείπουν συνημμένα για ξεχασμένα συνημμένα...
- Βελτιώστε την αποτελεσματικότητα του email με Απάντηση (Όλα) Με Συνημμένα, Αυτόματη προσθήκη χαιρετισμού ή ημερομηνίας και ώρας στην υπογραφή ή στο θέμα, Απάντηση σε πολλά email...
- Βελτιώστε την αποστολή email με Ανάκληση email, Εργαλεία συνημμένου (Συμπίεση όλων, Αυτόματη αποθήκευση όλων...), Κατάργηση διπλότυπων, να Γρήγορη αναφορά...
Εξαγωγή πολλών μηνυμάτων ηλεκτρονικού ταχυδρομείου από πολλούς φακέλους / υποφακέλους στο 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, όπως \Εισερχόμενα\Α και \Εισερχόμενα\B
4. Πάτα το F5 ή κάντε κλικ στο τρέξιμο για να εκτελέσετε αυτό το VBA. Και μετά κάντε κλικ στο OK κουμπί στο αναδυόμενο παράθυρο διαλόγου Εξαγωγή φακέλων Outlook στο Excel. Δείτε το στιγμιότυπο οθόνης:
Και τώρα τα email από όλους τους καθορισμένους υποφακέλους ή φακέλους στον παραπάνω κώδικα VBA εξάγονται και αποθηκεύονται σε βιβλία εργασίας του Excel.
Σχετικά άρθρα
Εξαγωγή μηνυμάτων κατά εύρος ημερομηνιών σε αρχείο Excel ή αρχείο PST στο Outlook
Εξαγωγή και εκτύπωση λίστας όλων των φακέλων και υποφακέλων στο Outlook
Τα καλύτερα εργαλεία παραγωγικότητας γραφείου
Kutools για το Outlook - Πάνω από 100 ισχυρές δυνατότητες για υπερφόρτιση του Outlook σας
🤖 Βοηθός αλληλογραφίας AI: Άμεσα επαγγελματικά email με μαγεία AI -- με ένα κλικ για ιδιοφυείς απαντήσεις, τέλειος τόνος, πολυγλωσσική γνώση. Μεταμορφώστε τα email χωρίς κόπο! ...
📧 Αυτοματοποίηση ηλεκτρονικού ταχυδρομείου: Εκτός γραφείου (Διαθέσιμο για POP και IMAP) / Προγραμματισμός αποστολής email / Αυτόματο CC/BCC βάσει κανόνων κατά την αποστολή email / Αυτόματη προώθηση (Σύνθετοι κανόνες) / Αυτόματη προσθήκη χαιρετισμού / Διαχωρίστε αυτόματα τα μηνύματα ηλεκτρονικού ταχυδρομείου πολλών παραληπτών σε μεμονωμένα μηνύματα ...
📨 Διαχείριση e-mail: Εύκολη ανάκληση email / Αποκλεισμός απάτης email από υποκείμενα και άλλους / Διαγραφή διπλότυπων μηνυμάτων ηλεκτρονικού ταχυδρομείου / Προχωρημένη Αναζήτηση / Ενοποίηση φακέλων ...
📁 Συνημμένα Pro: Μαζική αποθήκευση / Αποσύνδεση παρτίδας / Συμπίεση παρτίδας / Αυτόματη αποθήκευση / Αυτόματη απόσπαση / Αυτόματη συμπίεση ...
🌟 Διασύνδεση Magic: 😊Περισσότερα όμορφα και δροσερά emojis / Ενισχύστε την παραγωγικότητά σας στο Outlook με προβολές με καρτέλες / Ελαχιστοποιήστε το Outlook αντί να κλείσετε ...
???? Με ένα κλικ Wonders: Απάντηση σε όλους με εισερχόμενα συνημμένα / Email κατά του phishing / 🕘Εμφάνιση ζώνης ώρας αποστολέα ...
👩🏼🤝👩🏻 Επαφές & Ημερολόγιο: Μαζική προσθήκη επαφών από επιλεγμένα μηνύματα ηλεκτρονικού ταχυδρομείου / Διαχωρίστε μια ομάδα επαφής σε μεμονωμένες ομάδες / Κατάργηση υπενθυμίσεων γενεθλίων ...
Διανεμήθηκαν παραπάνω από 100 Χαρακτηριστικά Περιμένετε την εξερεύνηση σας! Κάντε κλικ εδώ για να ανακαλύψετε περισσότερα.