0
以下代码(在VSTO插件的标准ThisAddIn类中)检索有关要添加到MS Project(2013)的任务的信息,然后将实际任务添加到项目任务集合。问题是项目允许逐一添加任务,并在每次将任务添加到Tasks集合时重新绘制(刷新)项目视图。它看起来很烦人。到目前为止我找到并使用了Application.ScreenUpdating属性来隐藏闪烁。MS Project的VSTO插件:一次显示任务
这将是很好的准备任务的集合,并将它们所有在一起附加到活动的项目。任何人都可以更有经验,请指出一种方法来实现这一点?如果完全可以使用当前的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;
}
}
的技术,你可以尝试,是对所有任务添加到一个新的.xml或Excel文件。然后,您可以使自动项目打开文件并合并到活动项目中。这可能会更快,并会一次发生。如果您尝试,请告诉我们结果。是否有屏幕更新和计算= False帮助? –
感谢您的回复!是的,我已经在文件中准备了任务数据,在我的情况下是.csv,然后手动导入它。它没问题,但值得注意的是,MS Project试图调整传入数据而不是默默接受数据。你刚刚让我想到的是自动导入.csv。谢谢。 – watchaglass