如何在Word中将页码设置为从选定值开始

本文关键字:开始 设置 Word | 更新日期: 2023-09-27 18:23:59

我使用此代码在生成的Word文档中设置自动计数,它运行良好,但我需要从特定值开始计数,例如page_1-3、page_2-4、page_3-5等。

//define currentpage object
object currentPage = WdFieldType.wdFieldPage;
activeWindow.ActivePane.View.SeekView = WdSeekView.wdSeekCurrentPageFooter;
//set alignment  
activeWindow.ActivePane.Selection.Paragraphs.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;
//Add page number  
activeWindow.Selection.Fields.Add(activeWindow.Selection.Range, ref currentPage, ref oMissing, ref oMissing);

在Word中,您可以通过"插入->页码->设置页码格式->起始位置"进行设置在C#中有等价的属性吗?

已解决我们所要做的就是设置这2个属性:

activeWindow.ActivePane.Selection.HeaderFooter.PageNumbers.RestartNumberingAtSection = true;               
activeWindow.ActivePane.Selection.HeaderFooter.PageNumbers.StartingNumber = 666;

如何在Word中将页码设置为从选定值开始

我所知道的在Word中找到一种方法的最好方法是录制一个宏,然后查看生成的代码。它是VB,但把它翻译成C#很容易。在Word2007中,如果我录制了一个宏,它改变了你所说的开始位置,我会得到以下宏-

 Sub Macro1()
    '
    ' Macro1 Macro
    '
    '
        With Selection.Sections(1).Headers(1).PageNumbers
            .NumberStyle = wdPageNumberStyleArabic
            .HeadingLevelForChapter = 0
            .IncludeChapterNumber = False
            .ChapterPageSeparator = wdSeparatorHyphen
            .RestartNumberingAtSection = True
            .StartingNumber = 3
        End With
    End Sub

您只对更改StartingNumber属性感兴趣,并且将其转换为C#非常简单。