使用VBA创建Outlook事件(不是约会!)

所以有一个线索SO Link Here链接如何制作一个outlook“事件”,但实际上它创建了一个约会,而不是一个事件。

可以阅读有关HERE的差异。

我的问题很简单……如何创建实际事件,而不是使用VBA预约? 谢谢!

预约和事件之间的差异是事件持续24小时或更长时间,因为您知道事件不会在用户的日历中显示为占用的时间块。 相反,它们显示为横幅

要使用vba创建全天事件,您需要将AppointmentItem对象的AllDayEvent属性设置为true 然后将Start属性设置为您希望事件开始的当天的12:00 AM(午夜),并将End属性设置为您希望事件结束后的第二天的12:00 AM。


VBA示例

Option Explicit Public Sub Example() Dim Obj_Event As Outlook.AppointmentItem Set Obj_Event = Application.CreateItem(olAppointmentItem) With Obj_Event .Subject = "ALL Day Event Example" .Location = "stackoverflow.com" .AllDayEvent = True .Start = Format("03/10/2018 12:00 AM") .End = Format("03/11/2018 12:00 AM") .Save .Display End With End Sub 

C#示例

 private void AllDayEventExample() { Outlook.AppointmentItem appt = Application.CreateItem( Outlook.OlItemType.olAppointmentItem) as Outlook.AppointmentItem; appt.Subject = "Developer's Conference"; appt.AllDayEvent = true; appt.Start = DateTime.Parse("6/11/2007 12:00 AM"); appt.End = DateTime.Parse("6/16/2007 12:00 AM"); appt.Display(false); } 

MSDN:如何:创建一个全天活动的约会