我正在使用我的VSTO向MS项目添加大约3000个任务。问题是它添加得非常慢 - 大约 28-30 分钟(有时甚至更多)。
我确保使用以下方法禁用屏幕更新:全局.ThisAddin.Application.ScreenUpdate = false;
是否有解决此问题的已知解决方法,或者这只是 VSTO 的限制?
- Project
- 2010 在 COM 中的运行速度比 Project 2007 更快
- 禁用自动计算:将"应用程序.计算"设置为"PjComputing.pjManual"
- 隐藏甘特图 - 只在屏幕上保留一个网格
- 调用 Marshal.ReleaseComObject 以获取不再需要的接口对象
这是我在 Project 2007 中的经验。当然,您的体验可能会有所不同:)
-
我发现禁用自动计算并不能提供那么多好处,并且可能会损害进一步计算的准确性。
-
如果您使用的是撤消事务,请不要这样做。这将对时间处理和内存使用方面的性能产生巨大影响。
调用 屏幕更新具有性能优势,但每次在处理任务之前都必须调用它。
另外,还有一个非常奇怪的附加提示。尝试抓住 MS Project 窗口的标题栏或用于处理任务的对话框的标题栏,就像您要移动它然后不要释放它一样。导入速度将快很多倍。