Salt la conținutul principal

Cum se numără orele / zilele / săptămânile petrecute la o întâlnire sau întâlnire în Outlook?

Să presupunem că există o mulțime de întâlniri și întâlniri într-un calendar în Outlook. Și acum doriți să numărați orele / zilele / săptămânile petrecute la aceste întâlniri și întâlniri, vreo idee? Acest articol va introduce un VBA pentru a vă ajuta.

Numărați orele / zilele / săptămânile petrecute la o întâlnire sau la o întâlnire cu VBA


Numărați orele / zilele / săptămânile petrecute la o întâlnire sau la o întâlnire cu VBA

Această metodă va introduce un VBA pentru a număra orele sau minutele petrecute la întâlnirea sau întâlnirea specificată în Outlook. Vă rugăm să faceți următoarele:

1. Treceți la folderul Calendar și faceți clic pentru a selecta întâlnirea sau întâlnirea pe care o veți număra ore petrecute.

2. presa Alt + F11 simultan pentru a deschide fereastra Microsoft Visual Basic pentru aplicații.

3. clic Insera > Module, apoi lipiți mai jos codul VBA în fereastra Module de deschidere.

VBA: Numărați orele / minutele petrecute la o întâlnire sau întâlnire în 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. apasă pe F5 tasta sau faceți clic pe Alerga pentru a rula acest VBA.

Și acum apare o casetă de dialog și arată câte ore / minute a petrecut întâlnirea / întâlnirea selectată. Vedeți captura de ecran:

notițe: Puteți selecta mai multe întâlniri sau întâlniri în același timp pentru a număra totalul de ore / minute petrecute pe ele cu acest cod VBA.


Articole pe aceeaşi temă


Cele mai bune instrumente de productivitate de birou

Kutools pentru Outlook - Peste 100 de funcții puternice pentru a vă supraalimenta Outlook

🤖 AI Mail Assistant: E-mailuri profesionale instantanee cu magie AI--un singur clic pentru răspunsuri geniale, ton perfect, stăpânire în mai multe limbi. Transformați e-mailurile fără efort! ...

📧 Automatizare e-mail: În afara biroului (disponibil pentru POP și IMAP)  /  Programați trimiterea de e-mailuri  /  CC/BCC automat după reguli la trimiterea e-mailului  /  Redirecționare automată (Reguli avansate)   /  Adăugare automată felicitare   /  Împărțiți automat e-mailurile cu mai mulți destinatari în mesaje individuale ...

📨 Managementul e-mail: Amintește-ți cu ușurință e-mailurile  /  Blocați e-mailurile înșelătorii de către subiecți și alții  /  Ștergeți e-mailurile duplicate  /  Cautare Avansata  /  Consolidați foldere ...

📁 Atașamente ProSalvați în serie  /  Detașare lot  /  Compresă în loturi  /  Salvare automata   /  Detașare automată  /  Comprimare automată ...

🌟 Magia interfeței: 😊Mai multe emoji drăguțe și cool   /  Îmbunătățiți-vă productivitatea Outlook cu vizualizările cu file  /  Minimizați Outlook în loc să închideți ...

???? Minuni cu un singur clic: Răspundeți tuturor cu atașamentele primite  /   E-mailuri anti-phishing  /  🕘Afișați fusul orar al expeditorului ...

👩🏼‍🤝‍👩🏻 Contacte și calendar: Adăugați în lot contacte din e-mailurile selectate  /  Împărțiți un grup de contact în grupuri individuale  /  Eliminați mementouri de ziua de naștere ...

Peste 100 Caracteristici Așteaptă explorarea ta! Click aici pentru a descoperi mai multe.

 

 

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