簡體   English   中英

生成Open XML Word文檔后自動更新公式字段

[英]Automatically update formula field after generating Open XML Word document

我有一個使用OpenXML SDK生成Word文檔的庫,該庫的一個功能是生成最后一行包含公式的表(例如SUM(ABOVE) )。

Word具有內置的這些功能,但在生成文檔時,我必須假設Word未安裝在計算機上。

問題是,如果我只是生成表格和公式字段,它將不會在打開文檔時自動更新,用戶必須打開文檔並手動選擇“更新字段”才能計算函數。

有沒有辦法在代碼中執行此操作(無需手動計算功能)?

不,這是設計的。 有關詳細信息,請參閱打開,重新打印或打印文檔時更新的字段

對於任何手動輸入也是如此(例如,如果您在A1中有10個,在A2中有10個,在A3中插入=SUM(ABOVE) ,則您有20個。但是如果您將A1更改為15,則A3將不會自動更新除非並且直到你手動這樣做)。

解決此問題的唯一方法是創建一個加載項(VSTO,VBA等)以在客戶端計算機上接收Document_Open事件並運行一些代碼來更新所有字段或在打開文檔的服務器上創建Interop應用程序,呈現它帶有一些代碼,然后在進一步發送之前將其保存回來。

你看過這個, UpdateFieldsOnOpen類。 https://msdn.microsoft.com/en-us/library/cc861799 )它應該在第一次使用可以更新它的應用程序(例如Word)打開文檔時強制更新所有字段。

我想每個將其Dirty標志設置為true的字段都會得到更新,但不要引用我的內容;)

您可以設置值UpdateFieldsOnOpen ,打開文檔Word時會詢問您要刷新的內容。 有關更多詳細信息,請參閱此文章: http//www.samuraiprogrammer.com/blog/2010/08/09/OpenXMLHowToRefreshAFieldWhenTheDocumentIsOpened.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM