Cómo combinar automáticamente todas las citas y reuniones de todos los calendarios con Outlook VBA

Comparte ahora:

Si desea fusionar siempre todas las citas y reuniones de todos los calendarios en un calendario para una verificación conveniente, puede aplicar el método presentado en este artículo.

Quizás tenga muchas cuentas de correo electrónico configuradas en su Outlook. En este caso, debe tener muchos calendarios en su Outlook. Por tanto, cada vez que quieras comprobar cuántas citas hay hoy, tienes que cambiar a todos los calendarios. Será un poco problemático. Entonces, ¿por qué no los fusiona en un calendario? A continuación, expondremos un fragmento de código VBA, que puede realizarlo con facilidad.

Combinar todas las citas y reuniones de todos los calendarios con Outlook VBA

Combinar automáticamente todas las citas y reuniones de todos los calendarios

  1. Desde el principio, inicie su aplicación Outlook.
  2. Después de ingresar a la ventana principal de Outlook, presione los botones de tecla "Alt + F11".
  3. A continuación, accederá a la ventana "Microsoft Visual Basic para aplicaciones".
  4. A continuación, debe buscar y abrir el proyecto "ThisOutlookSession".
  5. Posteriormente, debe copiar y pegar los siguientes códigos VBA en esta ventana del proyecto.
'Here we take two calendars as an example - "Calendar A" & "Calendar B"
'You can add more as per your needs
Dim WithEvents objACalendarItems As Outlook.Items
Dim WithEvents objBCalendarItems As Outlook.Items
Dim objDefaultCalendar As Outlook.Folder
 
Private Sub Application_Startup()
    Set objACalendarItems = Application.Session.folders("File A").folders("Calendar").Items
    Set objBCalendarItems = Application.Session.folders("File B").folders("Calendar").Items

    'Here we merge into the default calendar
    Set objDefaultCalendar = Application.Session.GetDefaultFolder(olFolderCalendar)
End Sub
 
Private Sub objACalendarItems_ItemAdd(ByVal Item As Object)
    Call CopyToDefaultCalendar(Item)
End Sub

Private Sub objBCalendarItems_ItemAdd(ByVal Item As Object)
    Call CopyToDefaultCalendar(Item)
End Sub

Private Sub CopyToDefaultCalendar(ByVal objItem As Object)
    Dim objCopiedAppointment As Outlook.AppointmentItem
    Dim objMoviedAppointment As Outlook.AppointmentItem
    Dim strPSTFileName As String
 
    Set objCopiedAppointment = objItem.Copy
    Set objMoviedAppointment = objCopiedAppointment.Move(objDefaultCalendar)
 
    strPSTFileName = objItem.parent.parent.Name
 
    'Tag the source of the copied appointments
    objMoviedAppointment.Categories = "From " & strPSTFileName
    objMoviedAppointment.Save
    'If want to delete it from the original calendar, add the following line:
    'objItem.Delete
End Sub

Código de VBA: fusionar todas las citas y reuniones de todos los calendarios

  1. Después de eso, debe asignar un certificado digital a la macro actual.
  2. Luego, vaya a "configuración de macros" para permitir las macros firmadas digitalmente.
  3. Eventualmente, puedes restart su programa Outlook para activar la nueva macro.
  4. A partir de ahora, cada vez que se agregue una nueva cita o reunión en los calendarios no predeterminados, se copiará automáticamente al calendario predeterminado, como en la siguiente captura de pantalla:Fusionar calendarios

Eliminar elementos vencidos del calendario a tiempo

Como sabemos, Outlook es más propenso a varios errores cuando el buzón se vuelve cada vez más grande. Por lo tanto, se sugiere eliminar a tiempo los elementos inútiles del buzón, como citas y reuniones atrasadas. Mientras tanto, es mejor si tiene cerca una potente herramienta de reparación, como DataNumen Outlook Repair. Se puede reparar Outlook problemas sin sudar.

Introducción del autor:

Shirley Zhang es experta en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo recuperación de sql y productos de software de reparación de Outlook. Para más información visite www.datanumen.com

Comparte ahora:

Los comentarios están cerrados.