0

我正在使用我的 VSTO 向 MS Project 添加大约 3000 个任务。问题在于它的添加速度非常慢 - 大约 28-30 分钟(有时甚至更多)。

我确保使用以下方法禁用屏幕更新: Globals.ThisAddin.Application.ScreenUpdating = false;

是否有解决此问题的已知解决方法,或者这只是 VSTO 的限制?

4

2 回答 2

1
  1. Project 2010 使用 COM 的速度比 Project 2007 快
  2. 禁用自动计算:将 Application.Calculation 设置为 PjCalculation.pjManual
  3. 隐藏甘特图 - 在屏幕上只保留一个网格
  4. 为不再需要的接口对象调用 Marshal.ReleaseComObject
于 2012-12-19T06:25:25.633 回答
0

这是我使用 Project 2007 的经验。当然,您的经验可能会有所不同:)

  1. 我发现禁用自动计算并没有提供那么多好处,并且可能会损害进一步计算的准确性。

  2. 如果您正在使用 UndoTransactions,请不要。这将对时间处理和内存使用的性能产生巨大影响。

  3. 调用 ScreenUpdating 具有性能优势,但您必须在每次处理任务之前调用它。

  4. 此外,还有一个非常奇怪的提示。尝试抓住 MS Project 窗口的标题栏或用于处理任务的对话框的标题栏,就好像要移动它一样,然后不要释放它。导入速度会快很多倍。

于 2013-02-20T10:27:39.473 回答