VSTO / Word:如何冻结文档窗口?

时间:2011-03-10 21:38:22

标签: c# .net ms-word vsto ms-office

在VSTO应用程序级外接程序中,有没有办法冻结Word文档窗口,以便用户在制作时不会看到我们的Word自动化更改?我们想做一些类似于WinForms TreeView的BeginUpdate()和EndUpdate()方法的东西。我不确定为什么Word不提供这样的东西。也许MS不想让开发人员意外地“挂起”窗口。

BTW,我们意识到编程到XML而不是使用Word自动化在很多方面都“更好”,但在这个特定的实例中我们需要暂停更新窗口。我们正在尝试将两个单独文档的两个区域滚动到视图中,以便它们正确排列。这样做需要向上滚动到文档的顶部,然后将范围滚动到视图中。重点是,当窗口滚动时,用户会看到一点“跳跃”。没有这个会更专业!

2 个答案:

答案 0 :(得分:2)

c#中的相同内容:

try
{
    Globals.ThisAddIn.Application.ScreenUpdating = false;
    ...
}
...
finally
{
    Globals.ThisAddIn.Application.ScreenUpdating = true;
}

答案 1 :(得分:1)

绝对。这是一些VBA,但你明白了。

Sub YourSub()
    Application.ScreenUpdating = False
    'do your thing
     Application.ScreenUpdating = True
End Sub