迭代前景预约

时间:2009-09-30 20:55:47

标签: outlook

我知道如何在Outlook中迭代非定期约会。

我的问题是,如何迭代Outlook约会,包括定期约会?

谢谢。

2 个答案:

答案 0 :(得分:1)

如果您愿意使用第三方库,我建议使用“Redemption”库(http://www.dimastr.com/redemption/)。此库具有有用的 RDOFolder2 界面以及 GetActivitiesForTimeRange 方法。

您可以在此处找到有关此界面用法的更多信息: (http://www.dimastr.com/redemption/rdo/rdofolder.htm

如果您不想使用第三方库并且需要坚持使用Outlook API,那么诀窍是在迭代约会之前将 IncludeRecurrences 标志设置为true。以下文章应提供有关如何执行此操作的足够信息: (http://www.outlookcode.com/article.aspx?id=30

答案 1 :(得分:0)

实际上没有必要使用第三方工具。选项IncludeRecurrences可以解决这个问题:

    Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set MyFolder = myNameSpace.GetDefaultFolder(olFolderCalendar)

Set oItems = MyFolder.Items

' Restrict Date
strFilter = "[Start] >= " + "'"  + ourStart + "'"
Set oItems = oItems.Restrict(strFilter)

strFilter = "[End] <= " + "'"  + ourEnd + "'"
Set oItems = oItems.Restrict(strFilter)

' Restrict Category
strFilter = "[Categories] = " + "'"  + ourCategory + "'"
Set oItems = oItems.Restrict(strFilter)

oItems.Sort "[Start]"

' We want recurring, too (http://www.pcreview.co.uk/forums/get-recurring-appointment-dates-vba-t799214.html)
oItems.IncludeRecurrences = True