自动页码编号

时间:2013-03-15 10:50:58

标签: c# ms-word

我有一个打开word文档并用数据填充它的程序。在页脚中有一些数据,但我也希望页脚数在你创建一个新页面后更新。我知道这是可能的使用字段代码,但我不知道如何以字形C#。

输入字段代码

我想使用类似的东西:

Phone: 00000000 mail: somemail@mail  Page {PAGE} of {NUMPAGE}.

页脚代码

Microsoft.Office.Interop.Word.Range footer = section.Footers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range;
footer.Text = ad.contactinfo(path, gud);

有没有办法将字段代码放在文档中,还是有其他解决办法?

2 个答案:

答案 0 :(得分:4)

解决了它:D

doc.ActiveWindow.ActivePane.View.SeekView = Microsoft.Office.Interop.Word.WdSeekView.wdSeekCurrentPageFooter;
Object oMissing = System.Reflection.Missing.Value;
doc.ActiveWindow.Selection.TypeText("some text \t Page ");
Object TotalPages = Microsoft.Office.Interop.Word.WdFieldType.wdFieldNumPages;
Object CurrentPage = Microsoft.Office.Interop.Word.WdFieldType.wdFieldPage;
doc.ActiveWindow.Selection.Fields.Add(doc.ActiveWindow.Selection.Range, ref CurrentPage, ref oMissing, ref oMissing);
doc.ActiveWindow.Selection.TypeText(" of ");
doc.ActiveWindow.Selection.Fields.Add(doc.ActiveWindow.Selection.Range, ref TotalPages, ref oMissing, ref oMissing);

跳了一点点代码,但它确实有效!

答案 1 :(得分:0)

一个选项是在word中创建宏,在C#中你可以执行你的宏。在我看来,这似乎是最简单的方法,因为您可以根据需要创建任意数量的宏。当它工作时,你只需要打扰制作宏,而不必编辑你的代码。请查看此页面以获取有关其工作原理的更多信息:How To Create an Excel Macro by Using Automation from Visual C# .NET。这是Excell的一篇文章,但原则应该是一样的。