我正在尝试从邮件项中检索电子邮件SentOn
日期。但是,当我想要传递给字符串的Date
格式时,我不确定语法是如何工作的。我试过#34;#"和"'"在字符串之前和之后它仍然不起作用。这是我的代码:
Dim justDate As Date
Set objTable = Folder.GetTable("[SentOn]= *" & justDate & "*")
答案 0 :(得分:0)
使用日期时不要使用“=” - 由于舍入错误,比较将始终为false。始终使用范围((SentOn> v1)和(SentOn< v2))。
答案 1 :(得分:0)
虽然日期和时间通常以日期格式存储,但Outlook对象模型方法要求将日期和时间转换为字符串表示形式。要确保将日期格式设置为Outlook预期,请使用Format
功能。例如:
Sub DemoFindNext()
Dim myNameSpace As Outlook.NameSpace
Dim tdystart As Date
Dim tdyend As Date
Dim myAppointments As Outlook.Items
Dim currentAppointment As Outlook.AppointmentItem
Set myNameSpace = Application.GetNamespace("MAPI")
tdystart = VBA.Format(Now, "Short Date")
tdyend = VBA.Format(Now + 1, "Short Date")
Set myAppointments = myNameSpace.GetDefaultFolder(olFolderCalendar).Items
Set currentAppointment = myAppointments.Find("[Start] >= """ &; tdystart &;
""" and [Start] <= """ &; tdyend &; """")
While TypeName(currentAppointment) <> "Nothing"
MsgBox currentAppointment.Subject
Set currentAppointment = myAppointments.FindNext
Wend
End Sub