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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用VBA创建Outlook事件(不是约会!)相关的知识,希望对你有一定的参考价值。

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

可以阅读关于HERE的差异。

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

答案

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

要使用vba创建全天事件,您需要将AllDayEvent对象的AppointmentItem属性设置为true。然后将Start属性设置为12:00 AM。 (午夜)您希望活动开始的那天,以及End酒店的营业时间至凌晨12:00。在您希望活动结束的第二天。


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: How to: Create an Appointment That Is an All-Day Event

以上是关于使用VBA创建Outlook事件(不是约会!)的主要内容,如果未能解决你的问题,请参考以下文章

600 + 行 Excel 数据创建 Outlook 约会...但只创建一个约会

Outlook日历(VBA)中的Items.Restrict约会

Outlook 中约会和联系人的事件处理程序

VSTO Outlook 约会事件 (VB.NET)

VSTO Outlook 插件:当用户拖放定期约会时,无法在 Item_Change 事件中获取 AppointmentItem

Outlook 约会 - 如何更改开始时间下拉列表中的项目