Skip to main content

아웃룩에서 약속 또는 회의에 소요된 시간(시간/일/주)을 계산하는 방법은 무엇입니까?

Author: Kelly Last Modified: 2025-08-06

아웃룩의 캘린더에 많은 약속 및 회의가 있다고 가정해 봅시다. 이제 이러한 약속과 회의에 소요된 시간(시간/일/주)을 계산하려고 하는데, 아이디어가 있으신가요? 이 기사는 이를 돕기 위한 VBA를 소개합니다.

VBA를 사용하여 약속 또는 회의에 소요된 시간(시간/일/주) 계산하기


VBA를 사용하여 약속 또는 회의에 소요된 시간(시간/일/주) 계산하기

이 방법은 아웃룩에서 지정된 약속 또는 회의에 소요된 시간 또는 분을 계산하는 VBA를 소개합니다. 아래 단계를 따르세요:

1. 캘린더 폴더로 전환하고, 소요된 시간을 계산할 약속 또는 회의를 선택하세요.

2. Alt + F11 키를 동시에 눌러 Microsoft Visual Basic for Applications 창을 엽니다.

3. 삽입 > 모듈을 클릭한 다음, 아래 VBA 코드를 열린 모듈 창에 붙여넣으세요.

VBA: 아웃룩에서 약속 또는 회의에 소요된 시간(시간/분) 계산하기

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 코드를 사용하여 여러 개의 약속 또는 회의를 동시에 선택하고, 그들에 대해 총 소요 시간(시간/분)을 계산할 수 있습니다.


관련 기사

아웃룩에서 폴더 내 대화 총 개수 계산하기

아웃룩에서 선택한 이메일의 첨부 파일 총 개수 계산하기

아웃룩에서 받는 사람, 참조(Cc), 숨은 참조(Bcc) 필드의 수신자 수 계산하기

아웃룩에서 보낸 사람별로 이메일 수 계산하기


최고의 오피스 생산성 도구

속보: Kutools for Outlook 무료 버전 출시!

100개 이상의 놀라운 기능을 갖춘 완전히 새로워진 Kutools for Outlook을 경험해 보세요! 지금 다운로드하세요!

🤖 Kutools AI : 첨단 AI 기술을 활용하여 이메일 회신, 요약, 최적화, 확장, 번역, 작성까지 어떤 작업도 손쉽게 처리합니다.

📧 이메일 자동화: 자동 응답(POP 및 IMAP 지원) / 이메일 예약 발송 / 메일 발송 시 규칙에 따라 자동 참조/숨은 참조 / 고급 규칙 기반 자동 전달 / 자동 인사말 추가 / 여러 수신자 이메일을 개별 이메일로 자동 분할 ...

📨 이메일 관리: 이메일 회수 / 제목 등으로 스팸 이메일 차단 / 중복된 이메일 삭제 / 고급 검색 / 폴더 정리 ...

📁 첨부 파일 Pro: 일괄 저장 / 일괄 분리 / 일괄 압축 / 자동 저장 / 자동 분리 / 자동 압축 ...

🌟 인터페이스 매직: 😊더 예쁘고 멋진 이모지 / 중요한 이메일 도착 시 알림 / 종료 대신 Outlook 최소화 ...

👍 원클릭 편의 기능: 모두 회신(첨부 파일 포함) / 피싱 방지 이메일 / 🕘보낸 사람의 시간대 표시 ...

👩🏼‍🤝‍👩🏻 연락처 & 캘린더: 선택한 이메일에서 연락처 일괄 추가 / 연락처 그룹을 개별 그룹으로 분리 / 생일 알림 제거 ...

원하는 언어로 Kutools를 사용할 수 있습니다 – 영어, 스페인어, 독일어, 프랑스어, 중국어 등40개 이상의 언어 지원!

한 번의 클릭으로 Kutools for Outlook을 즉시 활성화하세요. 기다리지 말고, 지금 다운로드하여 효율성을 높이세요!

kutools for outlook features1 kutools for outlook features2