【问题标题】:VSTO/Word: How to freeze a document window?VSTO/Word:如何冻结文档窗口?
【发布时间】:2011-08-30 08:10:00
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    在 c# 中也是这样:

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

    【讨论】:

      【解决方案2】:

      当然。这是一些 VBA,但你明白了。

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

      【讨论】:

      • 完美——我没想到要检查 Application 对象,正在查看 Window 和 Document...谢谢!!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-25
      • 2013-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-29
      • 1970-01-01
      相关资源
      最近更新 更多