会議出席依頼にフラグを付けるマクロ


コメントにて以下のご要望をいただきました。


Outlook2010 で会議出席依頼(MeetingItem)を受信した時に、フラグを付ける(開始日は受信日、期限は会議の日)マクロを作りたいのですが、どうすればよいのでしょうか?



Outlook Object モデルの MeetingItem にはフラグを設定するためのメソッドやプロパティが用意されていません。
そのため、MeetingItem にフラグを付けるには、PropertyAccessor.SetProperty によりいくつかの MAPI プロパティを設定する必要があります。
ご要望のマクロは以下のようになります。

' ここをトリプルクリックでマクロ全体を選択できます。
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
    Dim objItem As Variant
    Set objItem = Session.GetItemFromID(EntryIDCollection)
   
    If TypeName(objItem) = "MeetingItem" Then
        SetStartAndDueDate objItem
    End If
End Sub
'
Private Sub SetStartAndDueDate(ByVal meetItem As MeetingItem)
    Const PidLidToDoTitle = "http://schemas.microsoft.com/mapi/id/{00062008-0000-0000-C000-000000000046}/85A4001E"
    Const PidLidTaskStartDate = "http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81040040"
    Const PidLidTaskDueDate = "http://schemas.microsoft.com/mapi/id/{00062003-0000-0000-C000-000000000046}/81050040"
    Const PidLidReminderSet = "http://schemas.microsoft.com/mapi/id/{00062008-0000-0000-C000-000000000046}/8503000B"
    Const PR_TODO_ITEM_FLAGS = "http://schemas.microsoft.com/mapi/proptag/0x0E2B0003"
    With meetItem.PropertyAccessor
        .SetProperty PidLidToDoTitle, meetItem.Subject
        .SetProperty PidLidTaskStartDate, Now
        .SetProperty PidLidTaskDueDate, meetItem.GetAssociatedAppointment(False).Start
        .SetProperty PidLidReminderSet, True
        .SetProperty PR_TODO_ITEM_FLAGS, 1
    End With
    meetItem.Save
End Sub

マクロの登録方法やメニューへの追加について

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中