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