2017-08-28 22 views
12

重置我有以下代码(简化,以显示该问题):的Word状态栏获取当我使用range.Information

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而不是来自微软的互操作库直接,因此语法是正确的。您可能会注意到在提供的屏幕截图中,它们是从正在运行的应用程序中获取的断点,突出显示当前执行的代码行,以及右侧的应用程序代码的实际结果。在那里首先有一个理想的状态栏“Tabelle 8 von 17 wird neu erstellt”。 (表8出17再造),并在接下来的步骤我的状态栏不见了,其默认的东西,“165·冯·8227Wörtern”(165出8227个字)

+0

你能提供[mcve]吗? – dd4711

回答

0

可能是什么原因?

我相信这是与你正在使用的图书馆。我测试了您的代码,但使用了Word Interop库,只有在Word窗口中手动点击/键入状态栏才能重置状态栏。

我该如何预防?

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

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

如上所述,我只能得到状态栏重置,如果我手动进行窗口的某种输入。