下面的代码(在VSTO加载项的标准ThisAddIn类中)检索有关要添加到MS Project(2013)的任务的信息,然后将实际任务添加到项目Tasks集合中。问题是项目允许逐个添加任务并在每次将任务添加到Tasks集合时重新绘制(刷新)项目视图。看起来很烦人。到目前为止,我发现并使用 Application.ScreenUpdating 属性来隐藏闪烁。
准备一组任务并将它们一起连接到活动项目会很不错。任何更有经验的人都可以指出一种方法来实现这一目标吗?如果使用当前的MS Project Add-In 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;
}
}
答案 0 :(得分:0)
我花了一些时间调查,但没有成功。 最后,我收到了一个不可能的答案,至少在当前的API(MS Project 2013)中: