MS project Interop:更改后获取任务

MS project Interop: Get task after change

我正在使用 C# VSTO 插件中的 MS project(2007) 互操作。我想在用户更改任务时检查新任务完成日期。

我正在使用 Application.ProjectBeforeTaskChange 来监控任务变化。但它只给出变化前的任务和直接变化的值。我要改后任务

例如,如果我更改任务持续时间,此事件仅告诉我持续时间正在更改(以及新的持续时间)。同时 Task.Finish 也在变化(我对此很感兴趣)但是事件并没有给我新的 Task.Finish.

任务变更完成后有什么方法可以获取任务吗?(我不想计算完成时间)

这不是很优雅,但您可以考虑将任务添加到队列中,并在适当的短延迟过去后在单独的线程中执行处理。这样您就可以重新加载任务并获取修改后的值。