文档.在Word 2013中,GoTo开始执行很慢
本文关键字:开始 执行 GoTo Word 2013 文档 | 更新日期: 2023-09-27 18:04:15
我正在研究一个使用Word互操作的专有Word插件。现在,我正在研究一种方法,该方法将书签添加到文档中每个页面的开头。我发现它在Word 2010上运行得非常快,但在Word 2013上,随着运行页数的增加,它开始变慢。下面是循环的代码:
for (int i = 1; i <= totalNumberOfPages; i++)
{
object pageNumObj = i;
object pageBegin = _document.GoTo(ref gotoItem, ref missing, ref pageNumObj, ref missing);
_document.Bookmarks.Add("Page_BM_" + (curPageNumber < 0 ? "n" : "") + Math.Abs(curPageNumber), ref pageBegin);
if (curPageNumber == -1)
curPageNumber = 1;
else
curPageNumber++;
}
我发现_document。随着循环的进行,GoTo语句开始变慢。对于大型文档(超过1000页),它变得非常慢,需要花费数小时才能完成该过程。有什么办法可以加快速度吗?还是Word 2013中存在已知的问题可能会导致这种情况?
Word自动化并不是真正设计用来逐页处理文档的,Shauny Kelly在这里解释了这一点。
您可能需要尝试一些方法来解决可能会减慢Word自动化速度的常见问题:
- 禁用屏幕更新:
_document.Application.ScreenUpdating = false;
- 尝试保存文档一次:
_document.Save();
- 清除undo stack:
ActiveDocument.UndoClear();
- 隐藏状态栏中的缩放级别或尝试隐藏状态栏中由Word刷新的其他元素(右键单击状态栏并取消选中相应的项目)。
这些只是已知的通常会影响自动化性能的事情。然而,上述方法都不能保证在您的情况下加快速度,但您可能想尝试一下。