C# 有没有办法将自动图文集(GlossaryDocument)存储在docx而不是dotx中

C# 有没有办法将自动图文集(GlossaryDocument)存储在docx而不是dotx中,c#,ms-word,openxml,C#,Ms Word,Openxml,我需要用一些自动图文集制作word文件(从数据库生成) 现在,我以编程方式生成word文档(docx)及其模板(dotx)。Dotx包含自动图文集列表(在GlossaryDocument中)和docx文件中,我在其上粘贴关系: documentSettingPart1.AddExternalRelationship("http://schemas.openxmlformats.org/officeDocument/2006/relationships/attachedTemplate", new

我需要用一些自动图文集制作word文件(从数据库生成) 现在,我以编程方式生成word文档(docx)及其模板(dotx)。Dotx包含自动图文集列表(在GlossaryDocument中)和docx文件中,我在其上粘贴关系:

documentSettingPart1.AddExternalRelationship("http://schemas.openxmlformats.org/officeDocument/2006/relationships/attachedTemplate", new Uri($"file:./{Path.GetFileName(dotxTemplate)}", UriKind.Relative) , relationId);
所以,如果用户将两个文件保存在同一个目录中并打开docx,他就可以完美地使用“自动图文集”。但是我正在寻找一种在一个docx文件中实现它的方法,因为对于用户来说,有两个文件并确保它们在同一个目录中是不方便的。 我尝试在docx中添加GlossaryDocumentPart或更改文档类型(ChangeDocumentType(WordprocessingDocumentType.document)),但之后我在open xml sdk中看到了GlossaryDocument,但在Word中打开docx文件时,此GlossaryDocument中没有任何自动图文集 有没有办法让docx文件包含自己的自动图文集?

docx文件不能包含自动图文集(构建块)。它根本不受支持。但是为什么不将您正在分发的文档保存为模板,用户可以在需要时使用它来创建新文档呢?这就是模板的用途

可以存储表示要在(a)自定义XML部件中重复使用的内容的Open XML一词。您需要编写某种类型的界面代码,以便用户能够检索和插入此内容。如果代码应该与文档一起传输,那么它将作为VBA—然后它将需要是一个docm而不是docx文件

给定Word 2013或更新版本,还可以将内容控件映射/链接到自定义XML部件中的节点。但是,这同样需要为用户开发某种类型的界面

也可能是VSTO或Word JS API解决方案,而不是VBA