Come contare le ore / i giorni / le settimane trascorse su un appuntamento o una riunione in Outlook?
Supponiamo che ci siano molti appuntamenti e riunioni in un calendario in Outlook. E ora vuoi contare le ore / i giorni / le settimane trascorse in questi appuntamenti e riunioni, qualche idea? Questo articolo introdurrà un VBA per aiutarti.
Contare ore / giorni / settimane trascorse su un appuntamento o un incontro con VBA
Contare ore / giorni / settimane trascorse su un appuntamento o un incontro con VBA
Questo metodo introdurrà un VBA per contare le ore oi minuti spesi per l'appuntamento o la riunione specificati in Outlook. Si prega di fare quanto segue:
1. Passare alla cartella Calendario e fare clic per selezionare l'appuntamento o la riunione di cui verranno conteggiate le ore trascorse.
2. Stampa altro + F11 tasti contemporaneamente per aprire la finestra di Microsoft Visual Basic, Applications Edition.
3. Clic inserire > Moduli, quindi incolla sotto il codice VBA nella finestra del modulo di apertura.
VBA: conta ore / minuti trascorsi su un appuntamento o una 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 F5 o fare clic su Correre pulsante per eseguire questo VBA.
E ora viene visualizzata una finestra di dialogo che mostra quante ore / minuti ha trascorso l'appuntamento / riunione selezionato. Vedi screenshot:
Note:: È possibile selezionare più appuntamenti o riunioni contemporaneamente per contare le ore / i minuti totali trascorsi su di essi con questo codice VBA.
Articoli Correlati
Contare il numero totale di conversazioni in una cartella in Outlook
Contare il numero totale di allegati nelle e-mail selezionate in Outlook
Contare il numero di destinatari nei campi A, Cc e Ccn in Outlook
Contare il numero di messaggi di posta elettronica del mittente in Outlook
I migliori strumenti per la produttività in ufficio
Kutools for Outlook - Oltre 100 potenti funzionalità per potenziare il tuo Outlook
🤖 Assistente di posta AI: E-mail istantanee professionali con la magia dell'intelligenza artificiale: risposte geniali con un solo clic, tono perfetto, padronanza multilingue. Trasforma l'e-mail senza sforzo! ...
???? Automazione di posta elettronica: Fuori sede (disponibile per POP e IMAP) / Pianifica l'invio di e-mail / CC/BCC automatico in base alle regole durante l'invio di e-mail / Inoltro automatico (regole avanzate) / Aggiunta automatica di saluto / Suddividi automaticamente le email con più destinatari in singoli messaggi ...
📨 gestione e-mail: Richiama facilmente le email / Blocca le email truffe per soggetto e altri / Elimina email duplicate / Ricerca avanzata / Consolidare cartelle ...
📁 Allegati Pro: Salvataggio in batch / Stacca batch / Comprimi in lotti / Salvataggio automatico / Scollegamento automatico / Comprimi automaticamente ...
🌟 Magia dell'interfaccia: 😊Più emoji carini e fantastici / Aumenta la tua produttività in Outlook con le visualizzazioni a schede / Riduci a icona Outlook invece di chiuderlo ...
👍 Meraviglie con un clic: Rispondi a tutti con gli allegati in arrivo / E-mail anti-phishing / 🕘Mostra il fuso orario del mittente ...
👩🏼🤝👩🏻 Contatti e calendario: Aggiungi in batch contatti dalle email selezionate / Dividere un gruppo di contatti in singoli gruppi / Rimuovi promemoria compleanno ...
Al di sopra Caratteristiche 100 Attendi la tua esplorazione! Clicca qui per scoprire di più.