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.

Auto Gabungkan Semua Janji Temu & Mesyuarat dari Semua Kalendar
- Pada awalnya, lancarkan aplikasi Outlook anda.
- Setelah anda memasuki tetingkap Outlook utama, tekan butang "Alt + F11".
- Kemudian anda akan masuk ke tetingkap "Microsoft Visual Basic for Applications".
- Seterusnya anda perlu mencari dan membuka projek "ThisOutlookSession".
- 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
- Selepas itu, anda perlu memberikan sijil digital pada makro semasa.
- Kemudian pergi ke "tetapan makro" untuk membenarkan makro yang ditandatangani secara digital.
- Akhirnya, anda boleh memulakan semula program Outlook anda untuk mengaktifkan makro baharu.
- 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:
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

