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

MS Project VBA如何将当前Finish、Start日期复制到Finish1、Start1字段

MS Project 任务日期快照VBA实现方案

功能说明

将项目中所有任务的当前开始日期(Start)、*完成日期(Finish)*批量写入自定义日期字段Start1、Finish1,留存快照用于后续跟踪工期、计划变动趋势。

使用步骤

  • 打开目标MS Project项目文件
  • 按Alt + F11调出VBA编辑器
  • 依次点击菜单栏「插入」→「模块」
  • 将下方代码粘贴到空白模块编辑区域
  • 按F5即可运行代码完成写入

完整代码

Sub 保存任务日期快照()
    Dim singleTask As Task
    
    '遍历当前项目的全部任务
    For Each singleTask In ActiveProject.Tasks
        '过滤掉项目中的空白无效任务行
        If Not singleTask Is Nothing Then
            '写入开始日期快照到Start1字段
            singleTask.Start1 = singleTask.Start
            '写入完成日期快照到Finish1字段
            singleTask.Finish1 = singleTask.Finish
        End If
    Next singleTask
    
    MsgBox "所有任务日期快照已成功保存到Start1、Finish1字段", vbOKOnly, "操作完成"
End Sub

注意事项

  • 如需留存多版本快照,可将代码中的Start1、Finish1替换为其他自定义日期字段(如Start2/Finish2,最多支持Start10/Finish10)
  • 若不需要保存摘要任务的日期,可将判断条件修改为If Not singleTask Is Nothing And Not singleTask.Summary Then
  • 运行代码前建议先备份项目文件,避免误操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 18:54:03