Jak automatycznie scalić wszystkie terminy i spotkania ze wszystkich kalendarzy za pomocą programu Outlook VBA

Podziel się teraz:

Jeśli chcesz zawsze scalać wszystkie spotkania i spotkania ze wszystkich kalendarzy w jeden kalendarz w celu wygodnego sprawdzenia, możesz zastosować metodę przedstawioną w tym artykule.

Być może masz wiele kont e-mail skonfigurowanych w Outlooku. W takim przypadku musisz mieć wiele kalendarzy w Outlooku. Dlatego za każdym razem, gdy chcesz sprawdzić, ile jest dzisiaj terminów, musisz przełączyć się na wszystkie kalendarze. To będzie trochę kłopotliwe. Dlaczego więc nie połączyć ich w jeden kalendarz? Poniżej ujawnimy fragment kodu VBA, który z łatwością może to zrealizować.

Połącz wszystkie terminy i spotkania ze wszystkich kalendarzy za pomocą programu Outlook VBA

Automatyczne łączenie wszystkich terminów i spotkań ze wszystkich kalendarzy

  1. Na samym początku uruchom aplikację Outlook.
  2. Po wejściu do głównego okna programu Outlook naciśnij przyciski klawiszy „Alt + F11”.
  3. Następnie przejdziesz do okna „Microsoft Visual Basic for Applications”.
  4. Następnie musisz znaleźć i otworzyć projekt „ThisOutlookSession”.
  5. Następnie powinieneś skopiować i wkleić następujące kody VBA do tego okna projektu.
'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

Kod VBA - Połącz wszystkie terminy i spotkania ze wszystkich kalendarzy

  1. Następnie musisz przypisać certyfikat cyfrowy do bieżącego makra.
  2. Później przejdź do „ustawień makr”, aby zezwolić na makra podpisane cyfrowo.
  3. Następnie możesz ponownie uruchomić program Outlook, aby aktywować nowe makro.
  4. Od teraz za każdym razem, gdy do kalendarza innego niż domyślny zostanie dodany nowy termin lub spotkanie, zostanie ono automatycznie skopiowane do kalendarza domyślnego, jak na poniższym zrzucie ekranu:Połącz kalendarze

Usuń zaległe pozycje z kalendarza na czas

Jak wiemy, Outlook jest bardziej podatny na różne błędy, gdy skrzynka pocztowa staje się coraz większa. Dlatego zaleca się usuwanie na czas niepotrzebnych rzeczy ze skrzynki pocztowej, takich jak zaległe spotkania i spotkania. W międzyczasie lepiej jest mieć w pobliżu potężne narzędzie naprawcze, takie jak DataNumen Outlook Repair. To może napraw Outlooka problemy bez zerwania potu.

Wprowadzenie autora:

Shirley Zhang jest ekspertem w dziedzinie odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym odzyskiwanie sql i oprogramowanie do naprawy programu Outlook. po więcej informacji odwiedź www.datanumen.com

Podziel się teraz:

Możliwość dodawania komentarzy nie jest dostępna.