OutlookVBAを使用してすべてのカレンダーのすべての予定と会議を自動マージする方法

今すぐ共有:

便利なチェックのために、すべてのカレンダーのすべての予定と会議を常にXNUMXつのカレンダーにマージする場合は、この記事で紹介した方法を適用できます。

おそらく、Outlookで多くの電子メールアカウントが構成されています。 この場合、Outlookには多くのカレンダーが必要です。 したがって、今日の予定の数を確認するたびに、すべてのカレンダーに切り替える必要があります。 少し面倒です。 では、それらをXNUMXつのカレンダーにマージしてみませんか? 以下では、簡単に実現できるVBAコードを公開します。

すべての予定表のすべての予定と会議をOutlookVBAとマージする

すべてのカレンダーからすべての予定と会議を自動マージ

  1. 最初に、Outlookアプリケーションを起動します。
  2. Outlookのメインウィンドウに入ったら、「Alt + F11」キーボタンを押します。
  3. 次に、「Microsoft Visual BasicforApplications」ウィンドウが表示されます。
  4. 次に、「ThisOutlookSession」プロジェクトを見つけて開く必要があります。
  5. その後、次のVBAコードをコピーしてこのプロジェクトウィンドウに貼り付ける必要があります。
'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

VBAコード-すべてのカレンダーのすべての予定と会議をマージする

  1. その後、現在のマクロにデジタル証明書を割り当てる必要があります。
  2. 後で「マクロ設定」に移動して、デジタル署名されたマクロを許可します。
  3. 最終的に、Outlookプログラムを再起動することで、新しいマクロを有効にできます。
  4. これ以降、デフォルト以外のカレンダーに新しい予定や会議が追加されるたびに、次のスクリーンショットのように、デフォルトのカレンダーに自動的にコピーされます。カレンダーをマージする

時間内にカレンダーから期限切れのアイテムを削除する

ご存知のように、メールボックスがどんどん大きくなると、Outlookはさまざまなエラーを起こしやすくなります。 したがって、期限切れの予定や会議など、不要なアイテムを時間内にメールボックスから削除することをお勧めします。 それまでの間、次のような強力な修復ツールを近くに置いておくとよいでしょう。 DataNumen Outlook Repair。 それができる Outlookを修復する 汗をかくことなく問題。

著者紹介:

Shirley Zhangは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 SQLの回復 と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

今すぐ共有:

コメントは締め切りました。