Cara Menggabungkan secara automatik Semua Janji Temu & Mesyuarat dari Semua Kalendar dengan Outlook VBA

Kongsi Sekarang:

Sekiranya anda ingin selalu menggabungkan semua janji temu dan mesyuarat dari semua kalendar ke dalam satu kalendar untuk pemeriksaan yang mudah, anda boleh menggunakan kaedah yang diperkenalkan dalam artikel ini.

Mungkin anda mempunyai banyak akaun e-mel yang dikonfigurasikan dalam Outlook anda. Dalam kes ini, anda mesti mempunyai banyak kalendar dalam Outlook anda. Oleh itu, setiap kali anda ingin memeriksa berapa banyak janji temu yang ada hari ini, anda mesti beralih ke semua kalendar. Ia akan menjadi sedikit menyusahkan. Jadi, mengapa anda tidak menggabungkannya menjadi satu kalendar? Berikut ini, kami akan memaparkan sekeping kod VBA, yang dapat merealisasikannya dengan mudah.

Gabungkan Semua Janji Temu & Mesyuarat dari Semua Kalendar dengan Outlook VBA

Auto Gabungkan Semua Janji Temu & Mesyuarat dari Semua Kalendar

  1. Pada awalnya, lancarkan aplikasi Outlook anda.
  2. Setelah anda memasuki tetingkap Outlook utama, tekan butang "Alt + F11".
  3. Kemudian anda akan masuk ke tetingkap "Microsoft Visual Basic for Applications".
  4. Seterusnya anda perlu mencari dan membuka projek "ThisOutlookSession".
  5. Selepas itu, anda harus menyalin dan menampal kod VBA berikut ke tetingkap projek ini.
'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 - Gabungkan Semua Janji Temu & Mesyuarat dari Semua Kalendar

  1. Selepas itu, anda perlu memberikan sijil digital pada makro semasa.
  2. Kemudian pergi ke "tetapan makro" untuk membenarkan makro yang ditandatangani secara digital.
  3. Akhirnya, anda boleh memulakan semula program Outlook anda untuk mengaktifkan makro baharu.
  4. Mulai sekarang, setiap kali janji temu atau mesyuarat baru ditambahkan dalam kalendar bukan lalai, ia akan disalin secara automatik ke kalendar lalai, seperti tangkapan skrin berikut:Gabungkan Kalendar

Buang Item Tertunda dari Kalendar dalam Masa

Seperti yang kita ketahui, Outlook lebih rentan terhadap pelbagai kesalahan ketika peti surat menjadi lebih besar dan lebih besar. Oleh itu, disarankan untuk membuang barang yang tidak berguna dari peti mel tepat pada waktunya, seperti janji temu dan mesyuarat yang tertunggak. Sementara itu, lebih baik jika anda menyimpan alat pembaikan yang kuat di dekatnya, seperti DataNumen Outlook Repair. Ia boleh baiki Outlook masalah tanpa berpeluh.

Pengenalan Pengarang:

Shirley Zhang adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk pemulihan sql dan produk perisian pembaikan prospek. Untuk maklumat lebih lanjut, lawati www.datanumen.com

Kongsi Sekarang:

Ruangan komen telah ditutup.