MS Project 的 VSTO 加载项:一次显示所有任务

VSTO add-in for MS Project: display tasks all at once

下面的代码(在 VSTO 加载项的标准 ThisAddIn class 中)检索有关要添加到 MS Project (2013) 的任务的信息,然后将实际任务添加到项目任务集合。问题是 Project 允许一个接一个地添加任务,并在每次将任务添加到 Tasks 集合时重新绘制(刷新)项目视图。看起来很烦人。到目前为止,我发现并使用 Application.ScreenUpdating 属性 来隐藏闪烁。

最好准备一组任务并将它们一起附加到活动项目中。有经验的人可以指出实现这一目标的方法吗?如果使用当前的 MS Project 加载项完全可行 API?

非常感谢。

....
using MSProject = Microsoft.Office.Interop.MSProject;
....

public partial class ThisAddIn
{
    ....

    private void ShowTasks()
    {
        MSProject.Project project = this.Application.ActiveProject;
        // TaskInfo is a custom DTO type
        IEnumerable<TaskInfo> dataSource = GetDataSourceSomehow();

        this.Application.ScreenUpdating = false;
        this.Application.Calculation = MSProject.PjCalculation.pjManual;

        foreach(TaskInfo info in dataSource)
        {
            MSProject.Task task = project.Tasks.Add(info.TaskName);
        }

        this.Application.ScreenUpdating = true;
    }
}

我花了一些时间调查但没有成功。 最后我收到了一个不可能的答案,至少对于当前的 API (MS Project 2013):

https://www.add-in-express.com/creating-addins-blog/2014/02/28/creating-and-modifying-ms-project-files-programmatically/#comment-424755