关于MS Project日历”例外日期”设置问题

阿信 165 信誉分
2026-08-21T15:06:05.7+00:00

您好,请教MS Project日历“例外日期”设置问题:

有些工程项目冬季无法进行混凝土施工,每年11月至来年3月需要停工。我现在需要每年设置一个停工条目(如下图),有些麻烦,需要不断增加,是否有更好的方案呢?

图片1

Microsoft 365 和 Office | Project | 商业版 | Windows
0 个注释 无注释

问题作者接受的答案
Jayden-P 3,795 信誉分 独立顾问
2026-08-21T16:00:25.34+00:00

注:此回复为自动翻译,因此可能存在语法错误或表达不通顺之处。

您好 @阿信

除了手动添加外,您也可以尝试使用 VBA 代码:

Sub CreateWinterShutdowns()
    Dim cal As Calendar
    Dim ex As Exception
    Dim yr As Integer
    Set cal = ActiveProject.Calendar
    For yr = 2025 To 2050
        Set ex = cal.Exceptions.Add("Winter Shutdown " & yr)
        ex.Start = DateSerial(yr, 11, 1)
        ex.Finish = DateSerial(yr + 1, 3, 31)
    Next yr
    MsgBox "Winter shutdown exceptions created.", vbInformation
End Sub

此解决方案基于 Microsoft Project 文档及标准 VBA 对象模型参考资料。根据您的具体环境,某些属性、方法或日历行为可能会有所不同。若要使宏在您的特定配置中正常运行,可能需要进行额外的修改。

例如:

Set cal = ActiveProject.Calendar

这使用的是项目的默认日历。如果您的组织使用自定义日历,请将其更改为:

Set cal = ActiveProject.BaseCalendars("您的日历名称")

此答案是否有帮助?

1 个人认为此答案很有帮助。

0 个其他答案

排序依据: 最新

你的答案

提问者可以将答案标记为“已接受”,审查方可以将答案标记为“已推荐”,这有助于用户了解答案是否解决了提问者的问题。