10

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

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 直接提供的互操作库,因此语法是正确的。您可能会在提供的屏幕截图中注意到它们是从正在运行的应用程序中获取的。断点,当前行代码执行的高亮,以及右边应用程序字中代码的实际结果。一开始有所需的状态栏“Tabelle 8 von 17 wird neu erstellt”。(17 个表中的 8 个正在重新创建),下一步我的状态栏不见了,它的默认内容“165 von 8227 Wörtern”(8227 个单词中的 165 个)

4

1 回答 1

0

可能是什么原因?

我相信这与您正在使用的库有关。我测试了您的代码,但使用了 Word Interop 库,我可以重置状态栏的唯一方法是在 Word 窗口中手动单击/键入。

我该如何预防?

我想说看看您正在使用的库的代码库。它很可能正在做一些导致该行为的事情。除非您使用 NetOffice 有特定原因,否则我建议您切换到标准 Interop 或 VSTO。

您知道其他可能发生这种情况的情况吗?

如上所述,如果我在窗口中手动执行某种输入,我只能重置状态栏。

于 2017-09-05T14:33:04.943 回答