메인 컨텐츠로 가기

Outlook에서 약속 또는 회의에 소요 된 시간 / 일 / 주를 계산하는 방법은 무엇입니까?

Outlook의 일정에 많은 약속과 모임이 있다고 가정 해 보겠습니다. 이제 이러한 약속과 회의에 소요 된 시간 / 일 / 주를 세고 싶습니까? 이 기사에서는 도움이되는 VBA를 소개합니다.

VBA와의 약속 또는 회의에 소요 된 시간 / 일 / 주 계산


VBA와의 약속 또는 회의에 소요 된 시간 / 일 / 주 계산

이 방법은 Outlook에서 지정된 약속이나 모임에 소요 된 시간 또는 분을 계산하는 VBA를 도입합니다. 다음과 같이하십시오 :

1. 캘린더 폴더로 이동 한 후 소요 시간을 계산할 약속 또는 회의를 클릭하여 선택합니다.

2. 프레스 다른 + 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 용 Kutools - 귀하의 전망을 강화하는 100개 이상의 강력한 기능

📧 이메일 자동화: 부재중(POP 및 IMAP에서 사용 가능)  /  이메일 보내기 예약  /  이메일 발송 시 규칙에 따른 자동 참조/숨은참조  /  자동 전달(고급 규칙)   /  인사말 자동 추가   /  여러 수신자 이메일을 개별 메시지로 자동 분할 ...

📨 이메일 관리: 이메일을 쉽게 기억할 수 있습니다.  /  제목 및 기타 사기 이메일 차단  /  중복 이메일 삭제  /  고급 검색  /  폴더 통합 ...

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

🌟 인터페이스 매직: 😊더 예쁘고 멋진 이모티콘   /  탭 보기로 Outlook 생산성 향상  /  문을 닫는 대신 전망을 최소화하세요 ...

???? 원클릭 불가사의: 수신 첨부 파일과 함께 전체 회신  /   피싱 방지 이메일  /  🕘발신자의 시간대 표시 ...

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

이상 100 특징 당신의 탐험을 기다려주세요! 더 알아보려면 여기를 클릭하세요.

 

 

Comments (11)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hallo Amanda,

Vielen Dank für die Rückfrage.

Hier ein Beispiel. Im Kalender werden 2 Termine ausgewählt.

Termin 1:
Gesamtdauer: 2 Stunden
Teilnehmer: A, B, C

Termin 2:
Gesamtdauer: 3 Stunden
Teilnehmer: B, C, D

Ergebnis der Auswertung (Reihenfolge egal):
Gesamtdauer Teilnehmer A: 2 Stunden
Gesamtdauer Teilnehmer B: 5 Stunden
Gesamtdauer Teilnehmer C: 5 Stunden
Gesamtdauer Teilnehmer D: 3 Stunden

Das ganze dann am besten in einer .csv oder excel oder irgendwas was man speichern und bearbeiten kann ;o)

Damit will ich erreichen das ich die Zeiten welche unser Dienstleister mit uns in Terminen verbringt abgleichen kann mit dem was er uns abrechnet. D.h. ich sehe was er sagt was er noch sonst so treibt... oder auch eben nicht ;o)
This comment was minimized by the moderator on the site
Gibt es eine Möglichkeit das MAcro so anzupassen das die Summe der Zeiten je Teilnehmer in den Terminen ermittelt wird? Als Projektmanager bin ich inteessiert zu wissen wieviele Stunden wir mit einme Dienstleister in Terminen verbringen.

Vielen Dank!
This comment was minimized by the moderator on the site
Hi,

Do you mean that you want to get the total number of time across all events that are related with a specific attendee?
I am not quite sure that I understand what you want.

Amanda
This comment was minimized by the moderator on the site
C'est parfait même et surtout pour une analphabète de l'informatique. Merci.
This comment was minimized by the moderator on the site
Can you do the same in OWA?
This comment was minimized by the moderator on the site
What a very helpful macro! Thank you!
This comment was minimized by the moderator on the site
how do you count total time for all meetings on a calendar over a period. We are trying to figure out how much our different staff members are spending in meetings in total.
This comment was minimized by the moderator on the site
You need to change the calendar view to a list view that shows all of the appointments together, and then you can highlight all of those that you're interested in totaling, and run that VBA macro.
This comment was minimized by the moderator on the site
Did you get a response on this or figured it out ? Im trying to do the same.
This comment was minimized by the moderator on the site
I shifted to month mode and selected all invites using drag and drop, able to see the sum of all meetings. hope it helps.
This comment was minimized by the moderator on the site
Thanks for a very useful macro! I just found one error: oItem.Mileage is a String not a Long. This error caused the macro to got blocked.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations