利用下面的代码添加,会有一些问题。
//获取页数
int pageNum = doc.ComputeStatistics(WdStatistic.wdStatisticPages, ref missing);
//添加最后一页页脚
doc.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekCurrentPageFooter;
doc.ActiveWindow.ActivePane.Selection.HeaderFooter.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
string text = string.Format("试卷第{0}页,总{1}页", pageNum, pageNum);
if (pageNum % 2 != 0)
{
text += "\r\n侵权必究";
}
doc.ActiveWindow.ActivePane.Selection.HeaderFooter.Range.Text = text;
doc.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekMainDocument;
//添加前n-1页页脚
object what = WdGoToItem.wdGoToPage;
object type = WdBreakType.wdSectionBreakContinuous;
for (int i = 1; i < pageNum; i++)
{
object name = i + 1;
doc.ActiveWindow.ActivePane.Selection.GoTo(ref what, ref missing, ref missing, ref name);
doc.ActiveWindow.ActivePane.Selection.InsertBreak(ref type);
doc.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekCurrentPageFooter;
text = string.Format("试卷第{0}页,总{1}页", i, pageNum);
if (i % 2 != 0)
{
text += "\r\n侵权必究";
}
doc.ActiveWindow.ActivePane.Selection.HeaderFooter.LinkToPrevious = false;
doc.ActiveWindow.ActivePane.Selection.HeaderFooter.Range.Text = text;
doc.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekMainDocument;
}
这样在文档本身没有任何分隔符(包括连续和分页符)的情况下是可以完成的,但是一旦文档本身在某个地方存在分隔符,那么自那个分隔符开始,插入的内容就乱了。跪求大神。。。
在word中录制一个宏,在C#里照着抄生成的代码。添加页码可以双击页眉,插入域,选择页码和页数。