Перейти к содержимому

Как подсчитать часы/дни/недели, потраченные на встречу или совещание в Outlook?

Author: Kelly Last Modified: 2025-06-05

Допустим, в календаре 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


Лучшие инструменты для повышения продуктивности в Office

Срочные новости: Kutools для Outlook запускает бесплатную версию!

Оцените совершенно новую бесплатную версию Kutools для Outlook с более чем70 потрясающими функциями — пользуйтесь ими НАВСЕГДА! Нажмите, чтобы скачать прямо сейчас!

🤖 Kutools AI : Использует передовые технологии искусственного интеллекта для легкой работы с Email: отвечает, резюмирует, оптимизирует, расширяет, переводит и составляет письма.

📧 Автоматизация Email: Автоответчик (доступно для POP и IMAP) / Запланировать отправку писем / Авто Копия/Скрытая копия по правилу при отправке писем / Автоматическое перенаправление (Расширенное правило) / Автоматическое добавление приветствия / Автоматическое разделение писем с несколькими получателями на отдельные сообщения ...

📨 Управление Email: Отозвать письмо / Блокировать мошеннические письма по теме и другим параметрам / Удалить дубликаты писем / Расширенный Поиск / Организовать папки ...

📁 Вложения Pro: Пакетное сохранение / Пакетное открепление / Пакетное сжатие / Автосохранение / Автоматическое отсоединение / Автоматическое сжатие ...

🌟 Магия интерфейса: 😊Больше красивых и крутых Эмодзи / Напоминание о важных письмах / Сворачивайте Outlook вместо закрытия ...

👍 Мгновенные действия: Ответить всем с вложениями / Антифишинговые Email / 🕘Показать часовой пояс отправителя ...

👩🏼‍🤝‍👩🏻 Контакты и Календарь: Пакетное добавление контактов из выбранных писем / Разделить группу контактов на отдельные группы / Удалить напоминание о дне рождения ...

Мгновенно активируйте Kutools для Outlook одним кликом. Не ждите — скачайте сейчас и повысьте свою эффективность!

kutools for outlook features1 kutools for outlook features2