2017-07-27 107 views
1

我想更新Microsoft Word文档的所有字段。目前我使用的方法Microsoft.Office.Interop.Word.Document.Fields.Update(),但它不更新字段。但是,如果我通过选择全部文档内容并按窗口键f9来更新字段来手动执行相同的操作,那么Microsoft Word文档的字段会正确更新。如何更新Word文档中的所有字段?

所以有人建议我有没有其他的方式来更新word文档的字段?

+0

什么是您收到的错误消息或异常?更新您的问题更多信息与代码你已经尝试过。 –

+0

我没有收到任何错误或异常。我必须更新Word文档字段,然后才开始在我的应用程序中使用它以获得正确的结果。由于字段没有正确更新,我得到错误的结果。但是当我手动更新文档中的字段时,我得到了正确的结果。这是我在我的应用程序中使用的代码片段。 wordDoc.Fields.Update(); wordDoc.UndoClear(); wordDoc是Microsoft word互操作对象。 –

+0

所以错误可能不是来自com方法。它将来自你的代码,你操纵Word文档中的数据。 –

回答

1

要更新的内容/数字表的具体情况:

// Microsoft.Office.Interop.Word.Document document; 

foreach (TableOfContents tableOfContents in document.TablesOfContents) 
{ 
    tableOfContents.Update(); 
} 
foreach (TableOfFigures tableOfFigures in document.TablesOfFigures) 
{ 
    tableOfFigures.Update(); 
} 
foreach (Range storyRange in document.StoryRanges) 
{ 
    storyRange.Fields.Update(); 
} 

我希望这涵盖了你需要更新的字段,或者给你足够的信息来推断你的领域。

+0

文档字段不会更新这些条件。但我观察到的一件事是,如果我使用下面的代码片段更新字段后保存文档,那么我能够看到预期的结果。 _wordDoc.Fields.Update(); _wordDoc.UndoClear(); _wordDoc.Save();但我不想保存文档,因为文档的保存可能会影响文档的原始内容。 –

相关问题