在VBA生成新MS Project项目时如何设置工期单位为小时?
在VBA中设置MS Project工期单位为小时的方法
要在VBA中把MS Project的工期单位设置为小时,核心是修改项目对象的DurationFormat属性,具体分两种场景处理:
1. 新建项目时直接配置
如果是通过VBA生成新项目,创建完成后立即设置工期单位即可:
Sub CreateNewProjectWithHourUnit() ' 创建新项目 Dim targetProj As Project Set targetProj = Application.Projects.Add ' 将工期显示单位设为小时 targetProj.DurationFormat = pjHours ' 示例:添加一个3小时的任务 Dim newTask As Task Set newTask = targetProj.Tasks.Add(Name:="需求调研") newTask.Duration = "3h" End Sub
2. 修改已有项目的工期单位
如果是针对已打开的项目调整,直接操作活动项目对象:
Sub SwitchDurationUnitToHours() ' 检查是否有打开的项目 If Application.Projects.Count = 0 Then MsgBox "请先打开一个项目文件" Exit Sub End If ' 设置当前活动项目的工期单位为小时 ActiveProject.DurationFormat = pjHours End Sub
关键说明
pjHours是MS Project内置的枚举常量,专门对应小时工期单位;其他可选值包括pjDays(默认天单位)、pjWeeks(周)、pjMinutes(分钟)等。- 设置完成后,项目中所有任务的工期都会以小时为单位显示,后续新增任务时,输入的工期也会默认按小时解析(比如输入
5会自动识别为5小时)。
内容的提问来源于stack exchange,提问作者SJM
相关产品推荐
相关产品推荐

