KutoolsforOffice — حل واحد، خمس أدوات قوية.تحقيق المزيد بجهد أقل.

كيف يمكن حساب عدد الساعات أو الأيام أو الأسابيع المنفَقة في موعد أو اجتماع ضمن Outlook؟

المؤلفكيليتاريخ التعديل

لنفترض أن تقويم 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).

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

استخدام VBA لحساب الساعات/الأيام/الأسابيع المنفقة على موعد أو اجتماع في Outlook

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


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

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

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

حساب عدد المستلمين في حقول إلى (To) ونسخة (Cc) ونسخة مخفية (Bcc) في Outlook

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


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

جرِّب Kutools لـ Outlook الجديد كليًّا مع 100+ ميزة رائعة!انقر للتنزيل الآن!

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

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

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

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

🌟سحر الواجهة: 😊إيموجيات أكثر جمالًا وروعة / إشعارك عند وصول رسائل بريد إلكتروني مهمة / تصغير Outlook بدلًا من إغلاقه...

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

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

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

افتح Kutools لـ Outlook بنقرة واحدة فورًا! لا تنتظر، نزِّله الآن وحسِّن كفاءتك!

kutools for outlook features1kutools for outlook features2

🚀 التنزيل بنقرة واحدة — احصل على جميع إضافات Office

موصى به بشدة: Kutools for Office (5 في 1)

نقرة واحدة لتنزيلخمسة برامج تثبيتدفعة واحدة —Kutools لـ Excel وOutlook وWord وPowerPointوOffice Tab Pro.انقر للتنزيل الآن!

  • سهولة النقرة الواحدة: نزِّل جميع حزم الإعداد الخمس دفعة واحدة!
  • 🚀جاهز لأي مهمة في Office: ثبِّت الإضافات التي تحتاجها، متى احتجتَ إليها.
  • 🧰متضمَّن: Kutools لـ Excel / Kutools لـ Outlook / Kutools for Word / Office Tab Pro / Kutools for PowerPoint