我想更新Microsoft Word文檔的所有字段。目前我使用的方法Microsoft.Office.Interop.Word.Document.Fields.Update(),但它不更新字段。但是,如果我通過選擇全部文檔內容並按窗口鍵f9來更新字段來手動執行相同的操作,那麼Microsoft Word文檔的字段會正確更新。如何更新Word文檔中的所有字段?
所以有人建議我有沒有其他的方式來更新word文檔的字段?
我想更新Microsoft Word文檔的所有字段。目前我使用的方法Microsoft.Office.Interop.Word.Document.Fields.Update(),但它不更新字段。但是,如果我通過選擇全部文檔內容並按窗口鍵f9來更新字段來手動執行相同的操作,那麼Microsoft Word文檔的字段會正確更新。如何更新Word文檔中的所有字段?
所以有人建議我有沒有其他的方式來更新word文檔的字段?
要更新的內容/數字表的具體情況:
// 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();
}
我希望這涵蓋了你需要更新的字段,或者給你足夠的信息來推斷你的領域。
文檔字段不會更新這些條件。但我觀察到的一件事是,如果我使用下面的代碼片段更新字段後保存文檔,那麼我能夠看到預期的結果。 _wordDoc.Fields.Update(); _wordDoc.UndoClear(); _wordDoc.Save();但我不想保存文檔,因爲文檔的保存可能會影響文檔的原始內容。 –
什麼是您收到的錯誤消息或異常?更新您的問題更多信息與代碼你已經嘗試過。 –
我沒有收到任何錯誤或異常。我必須更新Word文檔字段,然後纔開始在我的應用程序中使用它以獲得正確的結果。由於字段沒有正確更新,我得到錯誤的結果。但是當我手動更新文檔中的字段時,我得到了正確的結果。這是我在我的應用程序中使用的代碼片段。 wordDoc.Fields.Update(); wordDoc.UndoClear(); wordDoc是Microsoft word互操作對象。 –
所以錯誤可能不是來自com方法。它將來自你的代碼,你操縱Word文檔中的數據。 –