VSTO を使用して、約 3000 のタスクを MS Project に追加しています。問題は、追加が非常に遅く、約 28 ~ 30 分 (場合によってはそれ以上) かかることです。
Globals.ThisAddin.Application.ScreenUpdating = false; を使用して画面の更新を無効にしています。
この問題に対する既知の回避策はありますか、それとも VSTO の単なる制限ですか?
VSTO を使用して、約 3000 のタスクを MS Project に追加しています。問題は、追加が非常に遅く、約 28 ~ 30 分 (場合によってはそれ以上) かかることです。
Globals.ThisAddin.Application.ScreenUpdating = false; を使用して画面の更新を無効にしています。
この問題に対する既知の回避策はありますか、それとも VSTO の単なる制限ですか?
これは、私が Project 2007 で経験したことです。もちろん、あなたの経験は異なる場合があります :)
自動計算を無効にしても、それほど多くの利点が得られず、さらに計算の精度が損なわれる可能性があることがわかりました。
UndoTransactions を使用している場合は、使用しないでください。これは、処理時間とメモリ使用量の両方でパフォーマンスに大きな影響を与えます。
ScreenUpdating を呼び出すとパフォーマンスが向上しますが、タスクを処理する前に毎回呼び出す必要があります。
また、非常に奇妙な追加のヒント。MS Project ウィンドウのタイトル バーまたはタスクの処理に使用しているダイアログのタイトル バーをつかんでみてください。インポートは何倍も速くなります。