繁体   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