Note: The other languages of the website are Google-translated. Back to English
Inloggen  \/ 
x
or
x
Registreer  \/ 
x

or

Hoe kunt u uren / dagen / weken tellen die zijn besteed aan een afspraak of vergadering in Outlook?

Stel dat er in Outlook veel afspraken en vergaderingen zijn in een agenda. En nu wil je de uren / dagen / weken tellen die aan deze afspraken en vergaderingen zijn besteed, enig idee? Dit artikel introduceert een VBA om u te helpen.

Tel uren / dagen / weken besteed aan een afspraak of vergadering met VBA


Tel uren / dagen / weken besteed aan een afspraak of vergadering met VBA

Deze methode introduceert een VBA om de uren of minuten te tellen die zijn besteed aan de opgegeven afspraak of vergadering in Outlook. Ga als volgt te werk:

1. Ga naar de map Agenda en klik om de afspraak of vergadering te selecteren waarvan u de bestede uren wilt tellen.

2. druk op anders + F11 toetsen tegelijk om het venster Microsoft Visual Basic for Applications te openen.

3. klikken Invoegen > Moduleen plak vervolgens onder VBA-code in het openingsmodule-venster.

VBA: tel uren / minuten besteed aan een afspraak of vergadering in 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. druk de F5 toets of klik op de lopen knop om deze VBA uit te voeren.

En nu verschijnt er een dialoogvenster dat laat zien hoeveel uur / minuten de geselecteerde afspraak / vergadering heeft besteed. Zie screenshot:

Opmerking:: U kunt meerdere afspraken of vergaderingen tegelijkertijd selecteren om het totale aantal uren / minuten dat eraan is besteed met deze VBA-code te tellen.


Gerelateerde artikelen


Kutools voor Outlook - Brengt 100 geavanceerde functies naar Outlook en maakt het werk veel gemakkelijker!

  • Auto CC / BCC volgens regels bij het verzenden van e-mail; Automatisch doorsturen Meerdere e-mails op maat; Auto antwoord zonder uitwisselingsserver, en meer automatische functies ...
  • BCC-waarschuwing - toon bericht wanneer u alle probeert te beantwoorden als uw e-mailadres in de BCC-lijst staat; Herinner bij ontbrekende bijlagen, en meer herinneren functies ...
  • Beantwoorden (alle) met alle bijlagen in het e-mailgesprek; Beantwoord veel e-mails in seconden; Begroeting automatisch toevoegen wanneer antwoord; Datum toevoegen aan onderwerp ...
  • Hulpmiddelen voor bijlagen: beheer alle bijlagen in alle e-mails, Automatisch loskoppelen, Alles comprimeren, Alles hernoemen, Alles opslaan ... Snel rapport, Tel geselecteerde e-mails...
  • Krachtige ongewenste e-mails op maat; Verwijder dubbele e-mails en contacten... Stel u in staat om slimmer, sneller en beter te doen in Outlook.
shot kutools outlook kutools tabblad 1180x121
shot kutools vooruitzichten kutools plus tabblad 1180x121
 
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    John Burggraaf · 1 years ago
    What a very helpful macro! Thank you!
  • To post as a guest, your comment is unpublished.
    Nate · 3 years ago
    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.
    • To post as a guest, your comment is unpublished.
      John Burggraaf · 1 years ago
      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.
    • To post as a guest, your comment is unpublished.
      camla · 2 years ago
      Did you get a response on this or figured it out ? Im trying to do the same.
      • To post as a guest, your comment is unpublished.
        Krishna Mohan · 1 years ago
        I shifted to month mode and selected all invites using drag and drop, able to see the sum of all meetings. hope it helps.
  • To post as a guest, your comment is unpublished.
    Christian · 4 years ago
    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.