انتقل إلى المحتوى الرئيسي

كيفية تجميع وفرز رسائل البريد الإلكتروني حسب الشهر في Outlook؟

يتم فرز رسائل البريد الإلكتروني حسب تاريخ الاستلام في علبة الوارد في Outlook افتراضيًا. ومع ذلك ، لا يوجد أمر لفرز أو تجميع جميع رسائل البريد الإلكتروني حسب الشهر المستلم. سأقدم هنا طريقة لتجميع وفرز جميع رسائل البريد الإلكتروني حسب الشهر في Outlook.

قم بتجميع رسائل البريد الإلكتروني أو فرزها حسب الشهر في Outlook باستخدام كود VBA


قم بتجميع رسائل البريد الإلكتروني أو فرزها حسب الشهر في Outlook باستخدام كود VBA

ستوجهك هذه الطريقة إلى إنشاء عمود جديد باسم الشهر ، ثم قم بتطبيق ماكرو VBA لاستخراج الشهر المستلم في العمود الجديد ، وبعد ذلك يمكنك فرز أو تجميع جميع رسائل البريد الإلكتروني حسب عمود الشهر في Outlook.

1.  افتح مجلد بريد حيث ستقوم بفرز رسائل البريد الإلكتروني أو تجميعها حسب الشهر ، وانقر فوق عرض الإعدادات زر على المزيد علامة التبويب في Outlook 2010 والإصدار الأحدث.

قم بفرز رسائل البريد الإلكتروني حسب الشهر 1

ملحوظة: في Outlook 2007 ، يمكنك النقر فوق ملف المزيد > العرض الحالي > تخصيص العرض الحالي.

2. في المستقبل إعدادات العرض المتقدمة / تخصيص العرض مربع الحوار، انقر فوق الأعمدة (أو مجال زر).

قم بفرز رسائل البريد الإلكتروني حسب الشهر 2

3. في ال إظهار العمود / الحقول مربع الحوار، انقر فوق عمود جديد (أو حقل جديد زر) لفتح مربع حوار عمود / حقل جديد ، اكتب شهر في ال الاسم صندوق ، احتفظ به نص المختارة في كليهما النوع مربع و شكل مربع ، ثم انقر فوق OK زر. انظر لقطة الشاشة أدناه:

قم بفرز رسائل البريد الإلكتروني حسب الشهر 3

4.  الآن تعود إلى إظهار الأعمدة / الحقول في مربع الحوار ، انقر لتحديد ملف شهر العنصر في اعرض هذه الأعمدة (أو مجال) في هذا التسلسل ، وانقله إلى أسفل تم الاستلام من خلال النقر فوق تحريك لأعلى الزر ، ثم انقر أخيرًا على ملف OK .

قم بفرز رسائل البريد الإلكتروني حسب الشهر 4

5. انقر على OK زر لإغلاق إعدادات العرض المتقدمة / تخصيص العرض صندوق المحادثة.

6. حدد جميع رسائل البريد الإلكتروني في المجلد الافتتاحي مع تحديد أي بريد إلكتروني ثم الضغط على CTRL + A مفاتيح في نفس الوقت.

ملاحظات: إذا كان جزء القراءة قيد التشغيل ، الرجاء إغلاقه بالنقر فوق المزيد > جزء القراءة > خصم.

7. افتح ال ميكروسوفت فيسوال باسيك للتطبيقات نافذة مع الضغط على قديم + F11 في غضون ذلك ، ثم انقر فوق إدراج > وحدة.

8. قم بلصق ماكرو VBA التالي في الوحدة النمطية:

VBA: فرز رسائل البريد الإلكتروني أو تجميعها حسب الشهر

Sub ListSelectionMonth()
	Dim aObj As Object
	Dim oProp As Outlook.UserProperty
	Dim sMonth
	
	On Error Resume Next
	
	For Each aObj In Application.ActiveExplorer.Selection
		Set oMail = aObj
		
		sMonth = Month(oMail.ReceivedTime)
		Set oProp = oMail.UserProperties.Add("Month", olText, True)
		oProp.Value = sMonth
		oMail.Save
		
		Err.Clear
	Next
	
End Sub

9. اضغط على F5 مفتاح لتشغيل هذا الماكرو VBA.

10. الآن يتم استخراج كل شهر تلقي بريد إلكتروني في التالي شهر عمود. لفرز جميع رسائل البريد الإلكتروني حسب الشهر في مجلد الفتح هذا ، ما عليك سوى النقر فوق رأس العمود شهر. انظر لقطة الشاشة:

قم بفرز رسائل البريد الإلكتروني حسب الشهر 5

ملاحظات: لتجميع جميع رسائل البريد الإلكتروني حسب الشهر في هذا المجلد الافتتاحي ، انقر بزر الماوس الأيمن فوق رأس العمود شهر، ثم حدد تجميع حسب هذا المجال من قائمة النقر بزر الماوس الأيمن. انظر لقطة الشاشة:

قم بفرز رسائل البريد الإلكتروني حسب الشهر 6


أفضل أدوات إنتاجية المكتب

كوتولس لتوقعات - أكثر من 100 ميزة قوية لتعزيز توقعاتك

🤖 مساعد بريد الذكاء الاصطناعي: رسائل بريد إلكتروني احترافية فورية مع سحر الذكاء الاصطناعي - بنقرة واحدة للردود العبقرية، والنغمة المثالية، وإتقان متعدد اللغات. تحويل البريد الإلكتروني دون عناء! ...

📧 أتمتة البريد الإلكتروني: خارج المكتب (متوفر لـ POP وIMAP)  /  جدولة إرسال رسائل البريد الإلكتروني  /  نسخة تلقائية/نسخة مخفية الوجهة حسب القواعد عند إرسال البريد الإلكتروني  /  إعادة التوجيه التلقائي (القواعد المتقدمة)   /  إضافة تحية تلقائية   /  تقسيم رسائل البريد الإلكتروني متعددة المستلمين تلقائيًا إلى رسائل فردية 

📨 إدارة البريد الإلكتروني: استدعاء رسائل البريد الإلكتروني بسهولة  /  حظر رسائل البريد الإلكتروني الاحتيالية حسب الموضوعات والآخرين  /  حذف رسائل البريد الإلكتروني المكررة  /  المزيد من خيارات البحث  /  توحيد المجلدات 

📁 المرفقات بروحفظ دفعة  /  فصل دفعة  /  ضغط دفعة  /  حفظ تلقائي   /  فصل تلقائي  /  ضغط تلقائي 

؟؟؟؟ واجهة ماجيك: 😊 المزيد من الرموز التعبيرية الجميلة والرائعة   /  عزز إنتاجية Outlook الخاص بك باستخدام طرق العرض المبوبة  /  تصغير Outlook بدلاً من الإغلاق 

؟؟؟؟ بنقرة واحدة عجائب: الرد على الكل بالمرفقات الواردة  /   رسائل البريد الإلكتروني لمكافحة التصيد  /  🕘إظهار المنطقة الزمنية للمرسل 

👩🏼‍🤝‍👩🏻 جهات الاتصال والتقويم: دفعة إضافة جهات الاتصال من رسائل البريد الإلكتروني المحددة  /  تقسيم مجموعة اتصال إلى مجموعات فردية  /  إزالة تذكير عيد ميلاد 

على مدى ميزات 100 في انتظار الاستكشاف الخاص بك! انقر هنا لاكتشاف المزيد.

 

 

Comments (14)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I have Outlook 2007 and have try that VBA. First I did have the problem that only 1 E-Mail of all get the month show.
I needed to mark all E-Mails first and then push in VBA F5 to show in all E-Mails the month.

a bad part of that code is that all month (1, 2, 3, 4, 5, 6, 7, 8, 9) get grouped on the wrong position in front of 10, 11, 12
is there any additional VBA sequence what add to the first 9 Month a 0? ergo 01, 02, 03 etc?

as I have several years in some folders it make sense to group those E-Mails first by year and after that by Month.
This comment was minimized by the moderator on the site
Strange.
Made a restart. Now it works.Sorry for bothering.
Thx again :) <3
This comment was minimized by the moderator on the site
Sorry. Didn't saw that the page is origin in english. #emabarrased
Google translate is getting better. :D
Hello from Hamburg,
great stuff. Thanks for this. :)
Only a small problem.
I had first adapted the code so that it puts the year and month together for me.

Sub ListSelectionYearMonth()
Dim aObj As Object
Dim oProp As Outlook.UserProperty
Dim oMail As Object
Dim sMonth
Dim sYear
Dim sYearMonth

On Error Resume Next

For Each aObj In Application.ActiveExplorer.Selection
Set oMail = aObj

sMonth = Month(oMail.ReceivedTime)
sYear = Year(oMail.ReceivedTime)

If sMonth < 10 Then
sMonth = 0 & sMonth
Else
sMonth = sMonth
End If

sYearMonth = sYear & "/" & sMonth
Set oProp = oMail.UserProperties.Add("YearMonth", olText, True)
oProp.Value = sYearMonth
oMail.Save

Err.Clear
Next

End Sub

This worked wonderfully.
Now I noticed in a folder that a grouping first by year and then by month increases the clarity.
I used the original code.
However, the column there remains empty.

Sub ListSelectionMonth()
Dim aObj As Object
Dim oProp As Outlook.UserProperty
Dim oMail As Object
Dim sMonth

On Error Resume Next

For Each aObj In Application.ActiveExplorer.Selection
Set oMail = aObj

sMonth = Month(oMail.ReceivedTime)

If sMonth < 10 Then
sMonth = 0 & sMonth
Else
sMonth = sMonth
End If

Set oProp = oMail.UserProperties.Add("Month", olText, True)
oProp.Value = sMonth
oMail.Save

Err.Clear
Next

End Sub

I'm a bit perplexed at the moment.

Glad about any advice

VG
Armin


Translated with http://www.DeepL.com/Translator (free version)
This comment was minimized by the moderator on the site
Hallo aus Hamburg,super Sache. Danke dafür. :)Kleines Problem nur.Ich hatte zuerst den Code so angepasst das er mir Jahr und Monat zusammensetzt.
Sub ListSelectionYearMonth()
Dim aObj As Object
Dim oProp As Outlook.UserProperty
Dim oMail As Object
Dim sMonth
Dim sYear
Dim sYearMonth

On Error Resume Next

For Each aObj In Application.ActiveExplorer.Selection
Set oMail = aObj

sMonth = Month(oMail.ReceivedTime)
sYear = Year(oMail.ReceivedTime)

If sMonth < 10 Then
sMonth = 0 & sMonth
Else
sMonth = sMonth
End If

sYearMonth = sYear & "/" & sMonth
Set oProp = oMail.UserProperties.Add("JahrMonat", olText, True)
oProp.Value = sYearMonth
oMail.Save

Err.Clear
Next

End Sub

Hat wunderbar geklappt.Nun ist mir in einem Ordner aufgefallen das eine Gruppierung zuersnach Jahr und dann nach Monat die Übersichtlichkeit noch erhöht.Habe als den ursprünglichen Code genommen.Dort bleibt dann allerdings die Spalte leer.
Sub ListSelectionMonth()
Dim aObj As Object
Dim oProp As Outlook.UserProperty
Dim oMail As Object
Dim sMonth

On Error Resume Next

For Each aObj In Application.ActiveExplorer.Selection
Set oMail = aObj

sMonth = Month(oMail.ReceivedTime)

If sMonth < 10 Then
sMonth = 0 & sMonth
Else
sMonth = sMonth
End If

Set oProp = oMail.UserProperties.Add("Monat", olText, True)
oProp.Value = sMonth
oMail.Save

Err.Clear
Next

End Sub

Macht mich grad etwas ratlos.
Freue mich über jeden Rat
VGArmin
This comment was minimized by the moderator on the site
This will also help.
This comment was minimized by the moderator on the site
The code works as in the article. But it does not apply to new letters. Every time you need to go to the created module in the Visual Basik and press F5.
This comment was minimized by the moderator on the site
I used the above vba and let me begin by saying this does help in micro management which is not available by default. this is beneficial for archival and storage and not something supposed to work automatically for incoming email. I was able to modify this a bit and also add a year column. So for all emails I was able to get a month and year so that I can group and then regroup (by year and then by month). What I did find however is there is some kind of limitation to the number of items it goes through and then exists (not sure why). For example if I were to select a folder with 18k-19k emails, it will loop only through some and then at the end of the run it will not update all the emails with the required. However if you run in smaller batches then it runs perfectly fine. The painful part here is to keep on selecting in batches. This is a pain for people like me who wish to manage or rather arrange years or emails that runs in a 6 figures in numbers. Anyone here been able to figure this out out or willing to go on a troubleshooting spree to fix this or how this can be addressed ?
This comment was minimized by the moderator on the site
That is, I want to group mails by subject and put the group with maximum mails on the top. How can I do that?
This comment was minimized by the moderator on the site
I want to :

1. Group mails by subject

2. Sort them by number of e-mails inside the group

How can I do achieve this?
This comment was minimized by the moderator on the site
I want this too
This comment was minimized by the moderator on the site
Is it possible to create VBA macro to group and sort emails by week?
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations