¿Cómo contar las horas/días/semanas dedicadas a una cita o reunión en Outlook?
Supongamos que hay muchas citas y reuniones en un calendario en Outlook. ¿Y si ahora quieres contar las horas/días/semanas dedicadas a estas citas y reuniones, tienes alguna idea? Este artículo presentará una macro VBA para ayudarte.
Cuenta las horas/días/semanas dedicadas a una cita o reunión con VBA
Cuenta las horas/días/semanas dedicadas a una cita o reunión con VBA
Este método presentará una macro VBA para contar las horas o minutos dedicados a la cita o reunión especificada en Outlook. Por favor, sigue los siguientes pasos:
1. Cambia a la carpeta del Calendario y haz clic para seleccionar la cita o reunión en la que contarás las horas dedicadas.
2. Presiona simultáneamente las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
3. Haz clic en Insertar > Módulo, y luego pega el siguiente código VBA en la ventana del Módulo que se abre.
VBA: Cuenta las horas/minutos dedicados a una cita o reunión en 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. Presiona la tecla F5 o haz clic en el botón Ejecutar para ejecutar esta macro VBA.
Ahora aparecerá un cuadro de diálogo que muestra cuántas horas/minutos se dedicaron a la cita/reunión seleccionada. Ver captura de pantalla:

Nota: Puedes seleccionar varias citas o reuniones al mismo tiempo para contar el total de horas/minutos dedicados a ellas con este código VBA.
Artículos relacionados
Cuenta el número total de conversaciones en una carpeta en Outlook
Cuenta el número total de adjuntos en correos electrónicos seleccionados en Outlook
Cuenta el número de destinatarios en los campos Para, Cc y CCO en Outlook
Cuenta el número de correos electrónicos por remitente en Outlook
Las mejores herramientas de productividad para Office
Noticia de última hora: ¡Kutools para Outlook lanza su versión gratuita!
¡Descubre el nuevo Kutools para Outlook con más de100 increíbles funciones! Haz clic para descargar ahora.
📧 Automatización de correo electrónico: Respuesta automática (disponible para POP e IMAP) / Programar envío de correo electrónico / CC/BCC automático por regla al enviar correo / Reenvío automático (Regla avanzada) / Agregar saludo automáticamente / Dividir automáticamente correos con múltiples destinatarios en emails individuales...
📨 Gestión de correo electrónico: Recuperar correo electrónico / Bloquear correos fraudulentos por asunto y otros filtros / Eliminar duplicados / Búsqueda Avanzada / Organizar carpetas...
📁 Adjuntos Pro: Guardar en lote / Desanexar en lote / Comprimir en lote / Guardar automáticamente / Desconectar automáticamente / Auto Comprimir...
🌟 Magia en la interfaz: 😊Más emojis bonitos y modernos / Avisos cuando llegan emails importantes / Minimizar Outlook en vez de cerrar...
👍 Funciones en un clic: Responder a Todos con Adjuntos / Correos antiphishing / 🕘Mostrar la zona horaria del remitente...
👩🏼🤝👩🏻 Contactos y Calendario: Agregar contacto en lote desde emails seleccionados / Dividir un grupo de contactos en grupos individuales / Eliminar recordatorio de cumpleaños...
Utiliza Kutools en tu idioma preferido — disponible en Inglés, Español, Alemán, Francés, Chino y más de40 idiomas adicionales.


🚀 Descarga con un solo clic — Consigue todos los complementos para Office
Muy recomendado: Kutools para Office (5 en1)
Descarga los cinco instaladores a la vez con solo un clic — Kutools para Excel, Outlook, Word, PowerPoint y Office Tab Pro. Haz clic para descargar ahora.
- ✅ Comodidad en un solo clic: Descarga los cinco paquetes de instalación en una sola acción.
- 🚀 Listo para cualquier tarea en Office: Instala los complementos que necesites cuando los necesites.
- 🧰 Incluye: Kutools para Excel / Kutools para Outlook / Kutools para Word / Office Tab Pro / Kutools para PowerPoint