Skip to main content

كيفية حساب الساعات/الأيام/الأسبوع التي تم قضاؤها على موعد أو اجتماع في Outlook؟

Author: Kelly Last Modified: 2025-08-06

لنفترض أن هناك العديد من المواعيد والاجتماعات في تقويم في Outlook. والآن تريد حساب الساعات/الأيام/الأسبوع التي تم قضاؤها على هذه المواعيد والاجتماعات، هل لديك فكرة؟ سيقدم لك هذا المقال برنامج VBA لمساعدتك.

احسب الساعات/الأيام/الأسبوع التي تم قضاؤها على موعد أو اجتماع باستخدام VBA


احسب الساعات/الأيام/الأسبوع التي تم قضاؤها على موعد أو اجتماع باستخدام VBA

ستقدم هذه الطريقة برنامج VBA لحساب الساعات أو الدقائق التي تم قضاؤها على الموعد أو الاجتماع المحدد في Outlook. يرجى القيام بما يلي:

1. انتقل إلى مجلد التقويم، وانقر لتحديد الموعد أو الاجتماع الذي ستحسب الساعات التي تم قضاؤها عليه.

2. اضغط على مفتاحي Alt + F11 معًا لفتح نافذة Microsoft Visual Basic for Applications.

3. انقر على إدراج > وحدة، ثم قم بلصق كود VBA أدناه في نافذة الوحدة المفتوحة.

VBA: احسب الساعات/الدقائق التي تم قضاؤها على موعد أو اجتماع في Outlook

Sub CountTimeSpent()
Dim oOLApp As Outlook.Application
Dim oSelection As Outlook.Selection
Dim oItem As Object
Dim iDuration As Long
Dim iTotalWork As Long
Dim iMileage As Long
Dim iResult As Integer
Dim bShowiMileage As Boolean

bShowiMileage = False

iDuration = 0
iTotalWork = 0
iMileage = 0

On Error Resume Next

    Set oOLApp = CreateObject("Outlook.Application")
Set oSelection = oOLApp.ActiveExplorer.Selection

    For Each oItem In oSelection
If oItem.Class = olAppointment Then
iDuration = iDuration + oItem.Duration
iMileage = iMileage + oItem.Mileage
ElseIf oItem.Class = olTask Then
iDuration = iDuration + oItem.ActualWork
iTotalWork = iTotalWork + oItem.TotalWork
iMileage = iMileage + oItem.Mileage
ElseIf oItem.Class = Outlook.olJournal Then
iDuration = iDuration + oItem.Duration
iMileage = iMileage + oItem.Mileage
Else
iResult = MsgBox("Please select some Calendar, Task or Journal items at first!", vbCritical, "Items Time Spent")
Exit Sub
End If
Next

Dim MsgBoxText As String
MsgBoxText = "Total time spent: " & vbNewLine & iDuration & " minutes"

If iDuration > 60 Then
MsgBoxText = MsgBoxText & HoursMsg(iDuration)
End If

If iTotalWork > 0 Then
MsgBoxText = MsgBoxText & vbNewLine & vbNewLine & "Total work recorded; " & vbNewLine & iTotalWork & " minutes"

If iTotalWork > 60 Then
MsgBoxText = MsgBoxText & HoursMsg(iTotalWork)
End If
End If

If bShowiMileage = True Then
MsgBoxText = MsgBoxText & vbNewLine & vbNewLine & "Total iMileage; " & iMileage
End If

    iResult = MsgBox(MsgBoxText, vbInformation, "Items Time spent")

ExitSub:
Set oItem = Nothing
Set oSelection = Nothing
Set oOLApp = Nothing
End Sub

Function HoursMsg(TotalMinutes As Long) As String
Dim iHours As Long
Dim iMinutes As Long
iHours = TotalMinutes \ 60
iMinutes = TotalMinutes Mod 60
HoursMsg = " (" & iHours & " Hours and " & iMinutes & " Minutes)"
End Function

4. اضغط على مفتاح F5 أو انقر على زر التشغيل لتشغيل هذا البرنامج VBA.

والآن ستظهر مربع حوار ويعرض عدد الساعات/الدقائق التي استغرقها الموعد/الاجتماع المحدد. انظر لقطة الشاشة:

using vba to count hours/days/weeks spent on an appointment or meeting in Outlook

ملاحظة: يمكنك تحديد عدة مواعيد أو اجتماعات في نفس الوقت لحساب إجمالي الساعات/الدقائق التي تم قضاؤها عليها باستخدام هذا الكود VBA.


مقالات ذات صلة

احسب العدد الإجمالي للمحادثات في مجلد في Outlook

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

احسب عدد المستلمين في حقول إلى، نسخة إلى، ونسخة مخفية إلى في Outlook

احسب عدد رسائل البريد الإلكتروني حسب المرسل في Outlook


أفضل أدوات إنتاجية أوفيس

أخبار عاجلة: أدوات Kutools لـ Outlook تطلق إصدارًا مجانيًا!

اختبر أدوات Kutools لـ Outlook الجديدة كليًا مع أكثر من100 ميزة مذهلة! انقر لتحميلها الآن!

🤖 Kutools AI : يستخدم تقنية الذكاء الاصطناعي المتقدمة لإدارة البريد الإلكتروني بسهولة، بما في ذلك الرد، التلخيص، التحسين، التوسيع، الترجمة، وإنشاء الرسائل.

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

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

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

🌟 سحر الواجهة: 😊 المزيد من الرموز التعبيرية الجميلة والمميزة / تذكير عند وصول البريد الهام / تصغير Outlook بدل الإغلاق...

👍 ميزات بضغطة واحدة: الرد على الجميع مع المرفقات / الحماية من التصيد الاحتيالي / 🕘 عرض المنطقة الزمنية للمرسل...

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

استخدم أدوات Kutools بلغتك المفضلة – يدعم الإنجليزية، الإسبانية، الألمانية، الفرنسية، الصينية، وأكثر من40 لغة أخرى!

افتح أدوات Kutools لـ Outlook فوراً بنقرة واحدة. لا تنتظر، حمِّله الآن وحقق كفاءة أعلى!

kutools for outlook features1 kutools for outlook features2