gpt4 book ai didi

vba - 如何显示重复系列实例的开始日期?

转载 作者:行者123 更新时间:2023-12-05 05:29:14 26 4
gpt4 key购买 nike

使用 VBA,我需要在 Outlook 中显示定期约会的每个实例的开始日期。

问题是当我使用 appt.start 时它显示系列的开始日期,这没有帮助!!

示例:定期约会发生在 2009 年的每个月的第一天。我想显示 12 个实例,具有 12 个不同的开始日期(1/1/09、2/1/09 等)。换句话说,所有 12 个都不应显示开始日期 = 1/1/09。

谢谢

最佳答案

日期限制将选取在指定日期之间发生的重复约会的实例,但是当您询问实例的属性时 - 例如 .IsRecurring.AllDayEvent,Outlook 将指针重定向到第一个定期约会(实际上是父约会)。解决这个问题的方法是在通过检查其他属性丢失它们之前检查开始和结束日期(复制到局部变量)。

Dim olNS As Outlook.Namespace
Dim olRec As Outlook.Recipient

Dim myCalItems As Outlook.Items
Dim strRestriction As String

Dim ItemstoCheck As Outlook.Items
Dim MyItem As Outlook.AppointmentItem

Dim datAppStart As Date
Dim datAppEnd As Date

Set myCalItems = olNS.GetSharedDefaultFolder(olRec, olFolderCalendar).Items

' Including recurrent appointments requires sorting by the Start property, apparently!
myCalItems.Sort "[Start]", False
myCalItems.IncludeRecurrences = True

strRestriction = "[Start]<= " & Quote(datEndDate & " 12:00 AM") & " AND [End] >= " & _
Quote(datStartDate & " 11:59 PM")
Set ItemstoCheck = myCalItems.Restrict(strRestriction)

For Each MyItem In ItemstoCheck
If MyItem.Class = olAppointment Then

'Save Start and end dates in case replaced by first instance of recurring appointment
datAppStart = MyItem.Start
datAppEnd = MyItem.End

等等

关于vba - 如何显示重复系列实例的开始日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1156537/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com