2

我有一个程序可以打开一个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);

有没有办法将域代码放入文档中,或者有其他解决方案吗?

4

2 回答 2

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

想要少一点代码,但它可以工作!

于 2013-03-18T09:16:13.030 回答
0

一种选择是在 word 中创建宏,在 C# 中您可以执行宏。在我看来,这似乎是最简单的方法,因为您可以创建任意数量的宏。当它工作时,您只需费心制作宏,而不必编辑您的代码。查看此页面以获取有关其工作原理的更多信息:如何使用 Visual C# .NET 中的自动化创建 Excel 宏。虽然是Excel的文章,但原理应该是一样的。

于 2013-03-15T11:03:33.243 回答