Outlook Interop 从共享日历访问已删除的项目文件夹
Outlook Interop Accessing Deleted Item Folder from Shared Calendar
考虑以下场景:
有人和我分享了一个日历。我可以完全访问此日历。当我删除日历中的项目时,Folder.BeforeItemMove
事件被触发。到目前为止,一切都很好。
我想通过检查 MoveTo 条目 ID 是 null
还是有效的 Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderDeletedItems)
的条目 ID 来跟踪删除。
现在回到项目在共享文件夹中的情况:
- 根据 documentation 属性 olFolderDeletedItems 不能作为 GetSharedDefaultFolders() 的参数(只是为了确保我访问了其他文件夹被允许有效)
- 我试图迭代 Stores 集合。那里没有日历
- 我试图访问 MoveTo 文件夹上的商店 属性 ->
null
- 我试图从会话中获取商店(检查 PR_IPM_WASTEBASKET_ENTRYID)-> 失败
- 我 CAN 获取文件夹名称 问题是,它可能会重命名 and/or 本地化,我不希望所有已删除文件夹名称浮动的数组忍不住就转转
- 我使用普通 OOM 或兑换文件夹界面测试了所有这些
有什么想法吗?
(在 Outlook 2016 中测试)
RDOStore.GetDefaultFolder(olFolderDeletedItems)
和 RDOSession.GetSharedDefaultFolder(olFolderDeletedItems)
都在 Redemption 中工作。
如果您有权将日历作为共享日历访问(例如,通过 OWA 以电子邮件邀请的形式发送给您),已删除的项目将转到您的已删除项目文件夹。这个你可以通过
Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderDeletedItems)
如果日历在您个人资料的第二个邮箱中,则删除的项目会转到该帐户的已删除项目文件夹,您可以通过
访问该文件夹
Outlook.Store _Store = MoveTo.Store;
Outlook.Folder _Folder = MoveTo.GetDefaultFolder (OlDefaultFolders.olFolderDeletedItems) as Outlook.Folder;
您可以通过检查 Folder.Store
是否为空(在共享非邮箱日历的情况下)来区分这两种情况
考虑以下场景:
有人和我分享了一个日历。我可以完全访问此日历。当我删除日历中的项目时,Folder.BeforeItemMove
事件被触发。到目前为止,一切都很好。
我想通过检查 MoveTo 条目 ID 是 null
还是有效的 Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderDeletedItems)
的条目 ID 来跟踪删除。
现在回到项目在共享文件夹中的情况:
- 根据 documentation 属性 olFolderDeletedItems 不能作为 GetSharedDefaultFolders() 的参数(只是为了确保我访问了其他文件夹被允许有效)
- 我试图迭代 Stores 集合。那里没有日历
- 我试图访问 MoveTo 文件夹上的商店 属性 ->
null
- 我试图从会话中获取商店(检查 PR_IPM_WASTEBASKET_ENTRYID)-> 失败
- 我 CAN 获取文件夹名称 问题是,它可能会重命名 and/or 本地化,我不希望所有已删除文件夹名称浮动的数组忍不住就转转
- 我使用普通 OOM 或兑换文件夹界面测试了所有这些
有什么想法吗?
(在 Outlook 2016 中测试)
RDOStore.GetDefaultFolder(olFolderDeletedItems)
和 RDOSession.GetSharedDefaultFolder(olFolderDeletedItems)
都在 Redemption 中工作。
如果您有权将日历作为共享日历访问(例如,通过 OWA 以电子邮件邀请的形式发送给您),已删除的项目将转到您的已删除项目文件夹。这个你可以通过
Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderDeletedItems)
如果日历在您个人资料的第二个邮箱中,则删除的项目会转到该帐户的已删除项目文件夹,您可以通过
访问该文件夹 Outlook.Store _Store = MoveTo.Store;
Outlook.Folder _Folder = MoveTo.GetDefaultFolder (OlDefaultFolders.olFolderDeletedItems) as Outlook.Folder;
您可以通过检查 Folder.Store
是否为空(在共享非邮箱日历的情况下)来区分这两种情况