كيفية تصدير رسائل البريد الإلكتروني من عدة مجلدات / مجلدات فرعية للتميز في Outlook؟
قد يكون تصدير رسائل البريد الإلكتروني من مجلدات أو مجلدات فرعية متعددة إلى Excel مهمة شاقة إذا كنت تعتمد على طرق يدوية أو ميزات محدودة في Outlook. ولحسن الحظ، هناك طرق أكثر كفاءة لتحقيق ذلك. في هذه المقالة، سنستكشف طريقتين: نهج قائم على VBA وحل أسرع وسهل الاستخدام مع Kutools for Outlook. في حين توفر طريقة VBA المرونة، إلا أنها تنطوي على إعداد وتعديلات معقدة. على النقيض من ذلك، توفر Kutools for Outlook طريقة مباشرة وقوية لتصدير رسائل البريد الإلكتروني إلى Excel ببضع نقرات فقط، مما يوفر لك الوقت والجهد. دعنا نتعمق في التفاصيل.
تصدير رسائل البريد الإلكتروني من مجلدات/مجلدات فرعية متعددة إلى Excel باستخدام VBA (معقدة ولكن مرنة)
تصدير رسائل البريد الإلكتروني من مجلد/مجلد فرعي إلى Excel باستخدام Kutools for Outlook 👍 (فعالة وسهلة الاستخدام)
تصدير رسائل البريد الإلكتروني من مجلدات/مجلدات فرعية متعددة إلى Excel باستخدام VBA
إذا كنت مرتاحًا في الترميز وتحتاج إلى حل قابل للتخصيص، فقد يكون استخدام VBA فعالاً. تتيح لك هذه الطريقة تحديد مجلدات أو مجلدات فرعية متعددة وتصدير رسائل البريد الإلكتروني الخاصة بها إلى ملفات Excel منفصلة. ومع ذلك، تتطلب معرفة تقنية وتخصيصًا دقيقًا للكود.
الخطوة 1: افتح محرر VBA
صحافة قديم + F11 لبدء تشغيل نافذة "Microsoft Visual Basic for Applications".
الخطوة 2: إدراج وحدة جديدة
انقر فوق "إدراج" > "وحدة نمطية"، ثم الصق كود VBA أدناه في نافذة الوحدة النمطية الجديدة.
VBA: تصدير رسائل البريد الإلكتروني من عدة مجلدات ومجلدات فرعية إلى Excel
Const MACRO_NAME = "Export Outlook Folders to Excel"
Sub ExportMain()
ExportToExcel "destination_folder_path\A.xlsx", "your_email_account\folder\subfolder_1"
ExportToExcel "destination_folder_path\B.xlsx", "your_email_account\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
With excWks
.Cells(1, 1) = "Subject"
.Cells(1, 2) = "Received"
.Cells(1, 3) = "Sender"
End With
intRow = 2
For Each olkMsg In olkFld.Items
If olkMsg.Class = olMail Then
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 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
- يحل محل "Destination_folder_path"في الكود أعلاه مع مسار المجلد الفعلي، مثل "C: \ Users \ DT168 \ Documents \ TEST".
- يحل محل "حساب بريدك الإلكتروني\المجلد\المجلد الفرعي 1"و"حساب بريدك الإلكتروني\المجلد\المجلد الفرعي 2"مع مسارات مجلد Outlook الخاص بك، مثل "كيلي@extendoffice.com\صندوق الوارد\A"و"كيلي@extendoffice.com\صندوق الوارد\B".
الخطوة 4: قم بتشغيل الكود
اضغط على زر "F5" أو انقر على زر "تشغيل" لتنفيذ الكود. ثم انقر على زر "موافق" في مربع حوار "تصدير مجلدات Outlook إلى Excel". الآن، يتم تصدير رسائل البريد الإلكتروني من جميع المجلدات/المجلدات الفرعية المحددة إلى مصنفات Excel.
السلبيات:
- الإعداد المعقد:يتطلب تعديلات دقيقة في الكود ومعرفة عملية بـ VBA.
- معرض للخطأ:الأخطاء الصغيرة في التخصيص يمكن أن تؤدي إلى أخطاء أو تصدير غير مكتمل.
- استهلاك الوقت:غير مناسب للتصدير السريع أو المتكرر.
قم بتحويل إدارة البريد الإلكتروني الخاص بك باستخدام المعالجة المجمعة!
هل سئمت من مهام البريد الإلكتروني المتكررة؟ كوتولس لتوقعات توفر أدوات "المعالجة المجمعة" لتبسيط سير عملك وتوفير الوقت الثمين.
- ؟؟؟؟ الرد على رسائل البريد الإلكتروني المتعددة: أرسل ردودًا جماعية باستخدام القوالب دون بذل أي جهد.
- 📧 المضي قدما بشكل فردي: إعادة توجيه رسائل البريد الإلكتروني المتعددة كرسائل عادية، وليس كمرفقات.
- 📝 حفظ بتنسيقات مختلفة: تصدير رسائل البريد الإلكتروني بتنسيق PDF، وWord، وExcel، والمزيد - كل ذلك في مرة واحدة!

تصدير رسائل البريد الإلكتروني من مجلد/مجلد فرعي إلى Excel باستخدام Kutools for Outlook 👍
لطريقة أسرع وأكثر سلاسة، يوفر "Kutools for Outlook" ميزة "حفظ رسائل البريد الإلكتروني المحددة كملفات بتنسيقات مختلفة". يُنصح بشدة بهذه الطريقة لبساطتها وسرعتها وتعدد استخداماتها. سواء كنت تدير مجموعة صغيرة من رسائل البريد الإلكتروني أو مجموعات بيانات كبيرة، يضمن لك Kutools تجربة سلسة بأقل جهد.
احصل على أقصى كفاءة للبريد الإلكتروني مع Kutools for Outlook! 70 ميزات قوية مجانية تمامًا، إلى الأبد. قم بتنزيل النسخة المجانية الآن!
الخطوة 1: حدد المجلد أو المجلد الفرعي
انتقل إلى المجلد أو المجلد الفرعي الذي يحتوي على رسائل البريد الإلكتروني التي تريد تصديرها. اضغط على CTRL + A لتحديد كافة رسائل البريد الإلكتروني في القائمة.
الخطوة 2: الوصول إلى ميزة حفظ رسائل البريد الإلكتروني المحددة كملفات بتنسيقات مختلفة
انقر فوق "Kutools" > "المعالجة المجمعة" > "حفظ رسائل البريد الإلكتروني المحددة كملفات بتنسيقات مختلفة".
الخطوة 3: تكوين إعدادات التصدير
- في مربع الحوار "حفظ الرسائل كملفات أخرى"، اختر المجلد الوجهة الذي تريد حفظ الملفات فيه.
- حدد خيار "تنسيق Excel".
- اختر محتويات البريد الإلكتروني المحددة التي تريد تصديرها (على سبيل المثال، الرأس، النص) في قسم "حفظ المحتوى".
الخطوة 4: استكمل عملية التصدير
انقر على "موافق" لبدء عملية التصدير. بعد الانتهاء، ستجد جميع رسائل البريد الإلكتروني محفوظة كملفات إكسل منفصلة في المجلد المخصص.
المزايا:
- سريع وبديهي:قم بتصدير رسائل البريد الإلكتروني إلى Excel ببضع نقرات فقط - دون الحاجة إلى مهارات تقنية.
- إخراج قابل للتخصيص:اختر تنسيقات الملفات والمحتويات المحددة لتلبية احتياجاتك.
- عملية خالية من الأخطاء:تجنب التعقيدات والأخطاء المحتملة المرتبطة بأساليب VBA.
- النتائج المهنية:مثالي لإنشاء سجلات منظمة أو مشاركة البيانات بكفاءة.
أفضل أدوات إنتاجية المكتب
أخبار عاجلة: Kutools for Outlook يطلق نسخة مجانية!
استمتع بتجربة الإصدار المجاني الجديد تمامًا من Kutools for Outlook مع أكثر من 70 ميزة مذهلة، يمكنك استخدامها إلى الأبد! انقر للتنزيل الآن!
🤖 كوتولس منظمة العفو الدولية : يستخدم تقنية الذكاء الاصطناعي المتقدمة للتعامل مع رسائل البريد الإلكتروني دون عناء، بما في ذلك الرد على رسائل البريد الإلكتروني وتلخيصها وتحسينها وتوسيعها وترجمتها وإنشاءها.
📧 أتمتة البريد الإلكتروني: الرد التلقائي (متاح لـ POP وIMAP) / جدولة إرسال رسائل البريد الإلكتروني / نسخة تلقائية/نسخة مخفية الوجهة حسب القواعد عند إرسال البريد الإلكتروني / إعادة التوجيه التلقائي (القواعد المتقدمة) / إضافة تحية تلقائية / تقسيم رسائل البريد الإلكتروني متعددة المستلمين تلقائيًا إلى رسائل فردية
📨 إدارة البريد الإلكتروني: استدعاء رسائل البريد الإلكتروني / حظر رسائل البريد الإلكتروني الاحتيالية حسب الموضوعات والآخرين / حذف رسائل البريد الإلكتروني المكررة / المزيد من خيارات البحث / توحيد المجلدات
📁 المرفقات برو: حفظ دفعة / فصل دفعة / ضغط دفعة / حفظ تلقائي / فصل تلقائي / ضغط تلقائي
؟؟؟؟ واجهة ماجيك: 😊 المزيد من الرموز التعبيرية الجميلة والرائعة / تذكيرك عند وصول رسائل البريد الإلكتروني المهمة / تصغير Outlook بدلاً من الإغلاق
؟؟؟؟ بنقرة واحدة عجائب: الرد على الكل بالمرفقات / رسائل البريد الإلكتروني لمكافحة التصيد / 🕘إظهار المنطقة الزمنية للمرسل
👩🏼🤝👩🏻 جهات الاتصال والتقويم: دفعة إضافة جهات الاتصال من رسائل البريد الإلكتروني المحددة / تقسيم مجموعة اتصال إلى مجموعات فردية / إزالة تذكير عيد ميلاد
افتح Kutools for Outlook فورًا بنقرة واحدة. لا تنتظر، حمل الآن وعزز كفاءتك!

