如果用户删除了一个值,如何在 MS Project 2010 VBA 中判断?

How to tell in MS Project 2010 VBA if the user has deleted a value?

我在 MS Project 2010 中工作,使用 VBA 从项目中读取值。在某些情况下,项目经理通过按键盘上的 del 键从应用程序中删除了一个值。发生这种情况时,当您查看屏幕时该值似乎为空/null,但是直接读取 VBA 中的值仍然显示原始值,例如:

activeproject.Tasks(439).finish

这种矛盾导致了团队的挫败感。我真的不需要它来停止这样做,我只需要一种方法来检测值何时被删除。 VBA有没有办法判断用户是否删除了值?

这里的问题不是某个值已被删除但使用 vba 仍然可用,而是相关任务有一个 Task Mode set to Manually Scheduled and what is displayed in the Finish field is actually the Finish Text 数据。所有任务 always 都有一个基础完成日期(和开始日期),但在手动计划模式下,完成文本可以为空,在这种情况下日期默认为根据项目开始、前任、持续时间等计算的值

考虑将任务更改为 Auto-Scheduled 并让 Microsoft Project 执行其设计目的 - 安排时间。这是 quick explanation 手动与自动计划。