在Word文档中更改或添加模板

本文关键字:添加 Word 文档 | 更新日期: 2023-09-27 17:58:42

我想用一个简单的C#程序更改许多Word文档中的模板。

这些文档都基于标题样式、字体等的标准模板。我们希望更改此模板(更具体地说:标题颜色和其他小东西),并修改当前文档以使用此新模板。

在Word中,单击功能区"设计器"选项卡中的"文档模板"可以轻松实现这一点。我用这个指南来做这件事。这样做效果很好,而且完全符合它应该做的事情:根据新模板更改标题颜色等。

所以问题很简单:如何在.NET应用程序中执行完全相同的操作(附加其他模板并更改样式)?

我想我应该使用Microsoft.Office.Interop.Word命名空间,但我被卡住了。。。

在Word文档中更改或添加模板

我设法自己解决了它,显然没有那么难。这是我使用的代码:

        object missing = System.Reflection.Missing.Value;
        Word.Application wordApp = new Word.ApplicationClass();
        Word.Document aDoc = null;
        object readOnly = false;
        object isVisible = false;
        wordApp.Visible = false;
        object filename = "d:''Testdocs''testfile.doc";
        object saveAs = "d:''Testdocs''output.doc";
        object oTemplate = "d:''Testdocs''Template.dotx";
        aDoc = wordApp.Documents.Add(ref oTemplate, ref missing,
                                     ref missing, ref missing);
        aDoc = wordApp.Documents.Open(ref filename, ref missing,
                                      ref readOnly, ref missing, ref missing,
                                      ref missing, ref missing, ref missing,
                                      ref missing, ref missing, ref missing,
                                      ref isVisible, ref missing, ref missing,
                                      ref missing, ref missing);
        aDoc.Activate();
        aDoc.set_AttachedTemplate(oTemplate);
        aDoc.UpdateStyles();
        aDoc.SaveAs(ref saveAs, ref missing, ref missing,
                    ref missing, ref missing, ref missing,
                    ref missing, ref missing, ref missing,
                    ref missing, ref missing, ref missing, ref missing);
        aDoc.Close(ref missing, ref missing, ref missing);