Come contare le ore/giorni/settimane trascorse in un appuntamento o riunione in Outlook?
Supponiamo che ci siano numerosi appuntamenti e riunioni in un calendario di Outlook. Ora vuoi contare le ore/giorni/settimane trascorse in questi appuntamenti e riunioni, hai qualche idea? Questo articolo introdurrà una VBA per aiutarti.
Conta le ore/giorni/settimane trascorse in un appuntamento o riunione con VBA
Conta le ore/giorni/settimane trascorse in un appuntamento o riunione con VBA
Questo metodo introdurrà una VBA per contare le ore o i minuti trascorsi nell'appuntamento o nella riunione specificata in Outlook. Procedi come segue:
1. Passa alla cartella Calendario e fai clic per selezionare l'appuntamento o la riunione per cui vuoi contare le ore trascorse.
2. Premi contemporaneamente i tasti Alt + F11 per aprire la finestra Microsoft Visual Basic for Applications.
3. Clicca su Inserisci > Modulo, quindi incolla il seguente codice VBA nella finestra Modulo aperta.
VBA: Conta 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 o fai clic sul pulsante Esegui per eseguire questa VBA.
A questo punto, apparirà una finestra di dialogo che mostra quante ore/minuti sono stati impiegati nell'appuntamento/riunione selezionato/a. Vedi screenshot:

Nota: Puoi selezionare più appuntamenti o riunioni contemporaneamente per contare il totale delle ore/minuti impiegati con questo codice VBA.
Articoli correlati
Conta il numero totale di conversazioni in una cartella in Outlook
Conta il numero totale di allegati nelle email selezionate in Outlook
Conta il numero di destinatari nei campi A, Cc e CCN in Outlook
Conta il numero di email per mittente in Outlook
I migliori strumenti per la produttività in Office
Ultime notizie: Kutools per Outlook lancia la versione gratuita!
Scopri il nuovissimo Kutools per Outlook con oltre100 funzionalità straordinarie! Clicca per scaricare ora!
📧 Automazione Email: Risposta automatica (disponibile per POP e IMAP) / Programma invio Email / CC/BCC automatico tramite Regola durante l’invio delle Email / Inoltro automatico (Regola avanzata) / Aggiungi Saluto automaticamente / Dividi automaticamente Email multi-destinatario in messaggi singoli ...
📨 Gestione Email: Richiama Email / Blocca Email fraudulent (tramite Oggetto e altri parametri) / Elimina Email Duplicato / Ricerca Avanzata / Organizza cartelle ...
📁 Allegati Pro: Salva in Batch / Distacca in Batch / Comprimi in Batch / Salvataggio automatico / Distacca automaticamente / Auto Comprimi ...
🌟 Magia Interfaccia: 😊Più emoji belle e divertenti / Notifiche per le email importanti in arrivo / Riduci Outlook al posto di chiuderlo ...
👍 Funzioni rapide: Rispondi a Tutti con Allegati / Email Anti-Phishing / 🕘Mostra il fuso orario del mittente ...
👩🏼🤝👩🏻 Contatti & Calendario: Aggiungi in Batch contatti dalle Email selezionate / Dividi un Gruppo di Contatti in Gruppi singoli / Rimuovi promemoria di compleanno ...
Utilizza Kutools nella lingua che preferisci – supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre!


🚀 Download con un solo clic — Ottieni tutti gli Add-in per Office
Consigliato: Kutools per Office (5-in-1)
Un solo clic per scaricare cinque installatori contemporaneamente — Kutools per Excel, Outlook, Word, PowerPoint e Office Tab Pro. Clicca per scaricare ora!
- ✅ Comodità con un solo clic: scarica tutti e cinque i pacchetti di installazione in una sola azione.
- 🚀 Pronto per qualsiasi attività Office: installa i componenti aggiuntivi necessari, quando ti servono.
- 🧰 Inclusi: Kutools per Excel / Kutools per Outlook / Kutools per Word / Office Tab Pro / Kutools per PowerPoint