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

时间:2011-06-09 14:06:26

标签: c# templates ms-word

我想使用简单的C#程序从很多Word文档中更改模板。

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

在Word中,通过单击功能区中“设计器”选项卡中的“文档模板”可以轻松实现。 I used this guide to do this.这样可以很好地完成它应该做的事情:根据新模板更改标题颜色等。

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

我想我应该使用Microsoft.Office.Interop.Word命名空间,但我被困在那里......

1 个答案:

答案 0 :(得分:2)

我设法自己解决了,并不是那么困难。这是我使用的代码:

        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);