You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过VBA代码在MPP中添加年度日历例外项?

解决Project VBA添加年度重复日历例外项的1101错误
  • 在Project界面中,选中「年度」单选按钮,设置例外项(休息日)的重复月日就能创建年度重复的日历例外,但通过VBA开发实现时遇到报错1101的问题。
  • 尝试使用Type:=2(对应pjYearlyMonthDay,即每年指定月日重复,如12月24日)编写代码,原代码如下:
Dim CalName As String
CalName = ActiveProject.Calendar.Name
ActiveProject.BaseCalendars(CalName).Exceptions.Add Type:=2, Start:="5/01/2023", Occurrences:=10, Name:="TEST", MonthDay:="5 January"

错误原因与解决方法

错误源于MonthDay参数格式不符合要求:当使用pjYearlyMonthDay类型(Type=2)时,MonthDay需要传入数字格式的“月份/日期”,而非文本格式的“5 January”。

正确代码示例

Dim CalName As String
CalName = ActiveProject.Calendar.Name
' MonthDay使用"1/5"表示1月5日,与Start参数的月日保持一致
ActiveProject.BaseCalendars(CalName).Exceptions.Add _
    Type:=2, _
    Start:="2023/1/5", _
    Occurrences:=10, _
    Name:="TEST", _
    MonthDay:="1/5"

关键说明

  • pjYearlyMonthDay类型要求MonthDay参数格式为"MM/DD",例如"12/24"代表每年12月24日重复。
  • Start参数必须设置为该例外项首次出现的日期,且月日需与MonthDay指定的内容完全一致,否则会触发参数不匹配错误。

内容的提问来源于stack exchange,提问作者Bogdan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 12:05:08