Come contare le ore, i giorni o le settimane trascorse da un appuntamento o una riunione in Outlook?
Immaginiamo che ci siano molti Incontro in un calendario di Outlook. Ora desideri contare le ore/giorni/settimane trascorsi in questi Incontro; hai qualche idea? Questo articolo introdurrà una macro VBA per aiutarti.
Contare le ore/giorni/settimane trascorse in un appuntamento o riunione con VBA
Contare le ore/giorni/settimane trascorse in un appuntamento o riunione con VBA
Questo metodo illustra come utilizzare una macro VBA per calcolare le ore o i minuti trascorsi in un determinato appuntamento o riunione in Outlook. Segui questi passaggi:
1. Passa alla cartella Calendario e fai clic per selezionare l’appuntamento o la riunione di cui desideri conteggiare le ore trascorse.
2. Premi contemporaneamente i tasti Alt+F11 per aprire la finestra di Microsoft Visual Basic, Applications.
3. Fai clic su Inserisci > Modulo, quindi incolla il seguente codice VBA nella finestra del modulo che si apre.
VBA: Contare le ore/minuti trascorsi in un appuntamento o riunione 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. Premi il tasto F5 oppure fai clic sul pulsante Esegui per eseguire questa macro VBA.
A questo punto apparirà una finestra di dialogo che indica quante ore o minuti sono stati impiegati per l’appuntamento o la riunione selezionata. Vedi screenshot:

Nota: puoi selezionare contemporaneamente più appuntamenti o riunioni per calcolare il totale delle ore e dei minuti trascorsi con questa macro VBA.
Articoli correlati
Contare il totale dei Numero di conversazioni in una cartella di Outlook
Contare il numero totale di allegati nelle email selezionate in Outlook
Contare il numero di destinatari nei campi A, Cc e Ccn in Outlook
Contare i Conteggio email per mittente in Outlook
Migliori strumenti per la produttività in Office
Scopri il nuovissimo Kutools per Outlook con 100+ funzionalità incredibili!Clicca per scaricare ora!
📧Automazione delle email: Risposta automatica (disponibile per POP e IMAP) / Invio email programmato / CC/BCC automatico in base a regole durante l’invio delle email / Inoltro automatico (regola avanzata) / Aggiunta automatica del saluto / Divisione automatica delle email con destinatari multipli in messaggi individuali...
📨Gestione delle email: Richiama Email / Blocca le email truffaldine in base all’oggetto e ad altri criteri / Elimina email duplicate / Ricerca avanzata / Organizza cartelle...
📁Allegati Pro: Salvataggio batch / Distacco batch / Compressione batch / Salvataggio automatico / Distacco automatico / Compressione automatica…
🌟Magia dell’interfaccia: 😊 Più emoji graziose e accattivanti / Ti avvisa all’arrivo di email importanti / Riduci a icona Outlook invece di chiuderlo...
👍Meraviglie con un clic: Rispondi a Tutti con Allegati / Email anti-phishing / 🕘 Mostra il fuso orario – Ora corrente del mittente...
👩🏼🤝👩🏻Contatti e calendario: Aggiungi contatti in blocco dalle email selezionate / Dividi un gruppo di contatti in gruppi individuali / Rimuovi i promemoria dei compleanni...
Usa Kutools nella tua lingua preferita: supporta inglese, spagnolo, tedesco, francese, cinese e oltre 40 altre lingue!


🚀 Download con un clic — Ottieni tutti i componenti aggiuntivi per Office
Fortemente consigliato: Kutools for Office (5-in-1)
Un clic per scaricare cinque programmi di installazionetutti insieme —Kutools per Excel, Outlook, Word, PowerPointe Office Tab Pro.Clicca per scaricare ora!
- ✅Comodità con un solo clic: scarica tutti e cinque i pacchetti di installazione in un’unica azione.
- 🚀Pronto per qualsiasi attività in Office: installa i componenti aggiuntivi che ti servono, esattamente quando ti servono.
- 🧰Inclusi: Kutools per Excel / Kutools per Outlook / Kutools per Word / Office Tab Pro / Kutools for PowerPoint