如何通过VBA创建禁用“允许新时间提议”的Outlook会议
禁用Outlook会议的“允许新时间提议”选项
Outlook对象模型并没有直接暴露“允许新时间提议”的设置属性,需要通过PropertyAccessor操作对应的MAPI底层属性来实现禁用。
你当前代码中使用的属性是正确的,但设置值错误——该属性为布尔类型,设为False才是禁用允许新时间提议,而非True。同时建议调整代码顺序,先将约会转为会议(MeetingStatus = olMeeting)再设置该属性,确保生效:
修正后的完整代码:
Set OutApp = New Outlook.Application Set OutAppoint = OutApp.CreateItem(olAppointmentItem) With OutAppoint .RequiredAttendees = RequiredAtendeesString .AllDayEvent = AllDayEvent .Start = StartDate & " " & StartHour .End = EndDate & " " & EndHour .Subject = Subject .Body = Body .BusyStatus = olFree .Location = Location .MeetingStatus = olMeeting .ReminderSet = False .ResponseRequested = False ' 禁用「允许新时间提议」 .PropertyAccessor.SetProperty "http://schemas.microsoft.com/mapi/id/{00062002-0000-0000-C000-000000000046}/825A000B", False .Save .Display End With
补充说明:
- 该MAPI属性的作用是控制是否允许与会者提议新会议时间,默认值为
True(启用),设置为False后,用户界面中的“允许新时间提议”选项会被取消勾选。 - 需确保代码中
RequiredAtendeesString、StartDate等变量已正确定义赋值,避免运行时错误。
内容的提问来源于stack exchange,提问作者Kokopas
相关产品推荐
相关产品推荐

