当我使用range.Information时,Word状态栏会被重置。

11

我有以下代码(简化以显示问题):

var wdApp = new Application();
var wdDoc = wdApp.Documents.Open("C:\foo.docx");
wdApp.StatusBar = "Updating...";

var rng = wdDoc.Range(10, 10);
if ((bool)rng.Information(WdInformation.wdWithInTable))
{

}

//StatusBar value is gone...
  • 可能的原因是什么?
  • 我如何预防它?
  • 您知道其他可能出现这种情况的情况吗?

这里是问题的截图

1个F10(跳过)之后

编辑:

提供的代码使用 NetOffice 而不是直接使用 Microsoft 的 interop 库,因此语法是正确的。您可以在提供的截图中注意到它们来自正在运行的应用程序。断点、当前执行代码行的高亮显示,以及单词应用程序中代码实际结果的右侧。首先是所需的状态栏“表8共17个重新创建。”,下一步我的状态栏消失了,变成了默认的“165 von 8227 Wörtern”(165个字中的8227个字)。


你能提供一个 [mcve] 吗? - dd4711
1个回答

0
可能的原因是什么?
我认为这与您正在使用的库有关。我测试了您的代码,但使用Word Interop库,唯一能够重置状态栏的方法是手动在Word窗口中单击/输入。
如何防止它发生?
我建议查看您正在使用的库的代码库。很可能它正在做一些导致这种行为的事情。除非您有特定的原因使用NetOffice,否则我建议切换到标准Interop或VSTO。
您知道其他可能发生这种情况的情况吗?
如上所述,如果我手动进行某种窗口输入,我只能重置状态栏。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接