Note: The other languages of the website are Google-translated. Back to English

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

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

Contar horas / dias / semanas gastas em um compromisso ou reunião com o VBA


Contar horas / dias / semanas gastas em um compromisso ou reunião com o VBA

Este método apresentará um VBA para contar as horas ou minutos gastos no compromisso ou reunião especificada no Outlook. Faça o seguinte:

1. Mude para a pasta Calendário e clique para selecionar o compromisso ou reunião que contará as horas gastas.

2. Pressione outro + F11 simultaneamente para abrir a janela Microsoft Visual Basic for Applications.

3. Clique inserção > Móduloe, a seguir, cole o código VBA abaixo na janela de abertura do Módulo.

VBA: contagem de 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. aperte o F5 ou clique no Corrida botão para executar este VBA.

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

Nota: 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


Kutools for Outlook - traz 100 recursos avançados para o Outlook e torna o trabalho muito mais fácil!

  • Auto CC / BCC por regras ao enviar e-mail; Avanço automático Vários emails por encomenda; Resposta automatica sem servidor Exchange e mais recursos automáticos ...
  • Aviso BCC - mostrar mensagem quando você tentar responder a todos se o seu endereço de e-mail estiver na lista BCC; Lembrar quando houver anexos ausentes, e mais recursos de lembrete ...
  • Responder (todos) com todos os anexos na conversa de correio; Responder muitos e-mails em segundos; Adicionar saudação automaticamente quando responder; Adicionar data ao assunto ...
  • Ferramentas de anexo: gerenciar todos os anexos em todos os e-mails, Desanexação Automática, Comprimir tudo, Renomear tudo, Salvar tudo ... Relatório rápido, Contar e-mails selecionados...
  • Lixo eletrônico poderoso por costume; Remover e-mails e contatos duplicados... Permite que você faça de maneira mais inteligente, rápida e melhor no Outlook.
tiro kutools aba kutools do outlook 1180x121
tiro kutools outlook kutools mais guia 1180x121
 
Comentários (8)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Obrigado por uma macro muito útil! Acabei de encontrar um erro: oItem.Mileage is a String not a Long. Este erro fez com que a macro fosse bloqueada.
Este comentário foi feito pelo moderador no site
como você conta o tempo total de todas as reuniões em um calendário durante um período. Estamos tentando descobrir quanto nossos diferentes membros da equipe estão gastando em reuniões no total.
Este comentário foi feito pelo moderador no site
Você recebeu uma resposta sobre isso ou descobriu? Estou tentando fazer o mesmo.
Este comentário foi feito pelo moderador no site
Mudei para o modo mensal e selecionei todos os convites usando arrastar e soltar, podendo ver a soma de todas as reuniões. espero que ajude.
Este comentário foi feito pelo moderador no site
Você precisa alterar o modo de exibição de calendário para um modo de exibição de lista que mostre todos os compromissos juntos e, em seguida, você pode destacar todos aqueles que você está interessado em totalizar e executar essa macro VBA.
Este comentário foi feito pelo moderador no site
Que macro muito útil! Obrigada!
Este comentário foi feito pelo moderador no site
Você pode fazer o mesmo no OWA?
Este comentário foi feito pelo moderador no site
C'est parfait même et surtout pour une analphabète de l'informatique. Merci.
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos