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

发布于 2024-10-21 02:05:58 字数 359 浏览 2 评论 0原文

在 VSTO 应用程序级加载项中,是否有一种方法可以冻结 Word 文档窗口,以便用户在进行 Word 自动化更改时看不到这些更改?我们想做一些类似于 WinForms TreeView 的 BeginUpdate() 和 EndUpdate() 方法的事情。我不确定为什么 Word 不提供这样的功能。也许微软不想给开发者提供一种意外“挂起”窗口的方法。

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

In a VSTO application-level add-in, is there a way to freeze a Word document window so the user doesn't see our Word automation changes as they are being made? We'd like to do something akin to the WinForms TreeView's BeginUpdate() and EndUpdate() method. I'm not sure why Word doesn't offer something like this. Maybe MS doesn't want to give developers a way to accidentally "hang" the window.

BTW, we realize that programming to the XML rather than using Word automation is "better" in many ways, but in this specific instance we need to suspend updating of the window. We are trying to scroll two regions of two separate documents into view so they are lined up properly. Doing so requires scrolling up to the top of the document, then scrolling a range into view. Point being, the user sees a little "jump" while the window scrolls. Would look more professional without this!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一江春梦 2024-10-28 02:05:58

C# 中同样的事情:

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

Same thing in c#:

try
{
    Globals.ThisAddIn.Application.ScreenUpdating = false;
    ...
}
...
finally
{
    Globals.ThisAddIn.Application.ScreenUpdating = true;
}
冧九 2024-10-28 02:05:58

绝对地。这里有一些 VBA,但你明白了。

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

Absolutely. Here's some VBA, but you get the idea.

Sub YourSub()
    Application.ScreenUpdating = False
    'do your thing
     Application.ScreenUpdating = True
End Sub
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文