VSTO:使用VSTO加速在MS Project中添加任务

时间:2012-12-19 04:09:46

标签: vsto ms-project

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

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

此问题是否有已知的解决方法或仅仅是VSTO的限制?

2 个答案:

答案 0 :(得分:1)

  1. 使用COM比使用Project 2007
  2. ,Project 2010的工作速度更快
  3. 禁用自动计算:将Application.Calculation设置为PjCalculation.pjManual
  4. 隐藏Gant图表 - 屏幕上只保留一个网格
  5. 为不再需要的界面对象调用Marshal.ReleaseComObject

答案 1 :(得分:0)

这是我在Project 2007中获得的经验。您的体验可能会有所不同:)

  1. 我发现禁用自动计算并没有带来太多好处,可能会影响进一步计算的准确性。

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

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

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