0

我需要将一堆 DOCVARIABLES 添加到我的工作的 Word 文档中。最终目标是使用 C# 轻松询问用户需要将哪些值放入这些变量中,然后从模板中自动生成带有空变量的 word 文档。

尽管已经完成并添加了变量的所有域代码,但当我保存文档时,它实际上并没有将任何文档变量初始化为它们存在的状态,因此当我使用 C# 时,它找不到任何其中。当我将 docx 作为 zip 文件检查时,settings.xml 文件中没有<w:docVars>标签。当我使用 C# 而不是直接通过 word 添加 DOCVARIABLES 时,会添加这些标签。

到目前为止,我发现的所有解决方案都涉及使用 VBA 宏将它们初始化为某些东西,但这不是一个选择,因为无论出于何种原因,我们根本不允许使用 VBA 宏,因为公司某些东西. 公司要求他们拥有的计算机有一些限制,这完全阻止了我运行这些宏,并且试图绕过它不是一种选择。

如何让 DOCVARIABLES 初始化为一些允许 C# 找到它们的初始值?

4

1 回答 1

0

DocVariables 不能为空。如果将 1 设置为空值,则会将其删除。

作为一种解决方法,将初始值设置为“空”,然后让您的代码检查该值并采取适当的措施。否则,只需简单检查 DocVariable 是否存在,如果不存在则采取适当的措施。

更新: 必须从宏创建 DocVariables。宏可以在文档、文档模板或全局加载项中。所有这些都需要运行许可,如果 IT 部门不批准任何这些解决方案,那么 DocVariables 并不是真正的自动化选项。

于 2021-01-07T18:53:29.397 回答