Skip to main content

Kutools para Office — Uma Suíte. Cinco Ferramentas. Aumente sua Produtividade.

Como contar horas/dias/semanas gastos em um compromisso ou reunião no Outlook?

Author Kelly Last modified

Digamos que existam muitos compromissos e reuniões em um calendário no Outlook. E agora você deseja contar as horas/dias/semanas gastos nesses compromissos e reuniões, alguma ideia? Este artigo apresentará uma VBA para ajudá-lo.

Conte horas/dias/semanas gastos em um compromisso ou reunião com VBA


Conte horas/dias/semanas gastos em um compromisso ou reunião com VBA

Este método apresentará uma VBA para contar as horas ou minutos gastos no compromisso ou reunião especificado no Outlook. Por favor, faça o seguinte:

1. Alterne para a pasta Calendário e clique para selecionar o compromisso ou reunião no qual você contará as horas gastas.

2. Pressione simultaneamente as teclas Alt + F11 para abrir a janela Microsoft Visual Basic for Applications.

3. Clique em Inserir > Módulo e cole o código VBA abaixo na janela Módulo aberta.

VBA: Conte horas/minutos gastos em um compromisso ou reunião no 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. Pressione a tecla F5 ou clique no botão Executar para executar esta VBA.

E agora uma caixa de diálogo aparece e mostra quantas horas/minutos o compromisso/reunião selecionado gastou. Veja a captura de tela:

using vba to count hours/days/weeks spent on an appointment or meeting in Outlook

Observação: Você pode selecionar vários compromissos ou reuniões ao mesmo tempo para contar o total de horas/minutos gastos neles com este código VBA.


Artigos Relacionados

Conte o número total de conversas em uma pasta no Outlook

Conte o número total de anexos em emails selecionados no Outlook

Conte o número de destinatários nos campos Para, Cc e CCO no Outlook

Conte o número de emails por remetente no Outlook


Melhores Ferramentas de Produtividade para Office

Notícia de Última Hora: Kutools para Outlook Lança Versão Gratuita!

Experimente o novo Kutools para Outlook com mais de100 recursos incríveis! Clique para baixar agora!

🤖 Kutools AI : Utiliza tecnologia avançada de IA para gerenciar e-mails com facilidade, incluindo responder, resumir, otimizar, estender, traduzir e criar e-mails.

📧 Automação de E-mail: Resposta automática (Disponível para POP e IMAP)  /  Agendar Enviar Email  /  CC/BCC automático por Regra ao Enviar Email  /  Encaminhamento automático (Regra avançada)   /  Adicionar Saudação automaticamente   /  Dividir automaticamente Emails com múltiplos destinatários em Email individuais ...

📨 Gerenciamento de Email: Recallar Email  /  Bloquear emails fraudulentos por Assunto e outros critérios  /  Excluir Duplicado  /  Pesquisa Avançada  /  Organizar Pastas ...

📁 Anexos ProSalvar em Lote  /  Desanexar em Lote  /  Comprimir em Lote  /  Salvar automaticamente   /  Desanexar automaticamente  /  Auto Comprimir ...

🌟 Magia da Interface: 😊Mais emojis bonitos e legais   /  Notificações de emails importantes  /  Minimizar Outlook em vez de fechar ...

👍 Recursos de um clique: Responder a Todos com Anexos  /   Emails Anti-Phishing  /  🕘Exibir o fuso horário do remetente ...

👩🏼‍🤝‍👩🏻 Contatos e Calendário: Adicionar contato em lote dos Email selecionados  /  Dividir um Grupo de Contatos em grupos individuais  /  Remover lembrete de aniversário ...

Utilize o Kutools no idioma que preferir — disponível em Inglês, Espanhol, Alemão, Francês, Chinês e mais de40 outros!

Desbloqueie instantaneamente o Kutools para Outlook com um único clique. Não espere, baixe agora e aumente sua eficiência!

kutools for outlook features1 kutools for outlook features2

🚀 Download com um clique — Baixe todos os complementos de Office

Recomendado fortemente: Kutools para Office (5 em1)

Um clique para baixar cinco instaladores de uma vez — Kutools para Excel, Outlook, Word, PowerPoint e Office Tab Pro. Clique para baixar agora!

  • Comodidade em um clique: Baixe todos os cinco pacotes de instalação em uma única ação.
  • 🚀 Pronto para qualquer tarefa no Office: Instale os complementos que você precisa, quando precisar.
  • 🧰 Inclui: Kutools para Excel / Kutools para Outlook / Kutools para Word / Office Tab Pro / Kutools para PowerPoint