How to get page number?

后端 未结 3 866
情歌与酒
情歌与酒 2021-01-19 05:13

I have this code:

Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
object nullobj = System.Reflection.Missing         


        
相关标签:
3条回答
  • 2021-01-19 05:53

    I'd say this is a better solution

    Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
    object nullobj = System.Reflection.Missing.Value;
    object file = openFileDialog1.FileName;
    Microsoft.Office.Interop.Word.Document doc = app.Documents.Open(
      ref file, ref nullobj, ref nullobj,
      ref nullobj, ref nullobj, ref nullobj,
      ref nullobj, ref nullobj, ref nullobj,
      ref nullobj, ref nullobj, ref nullobj,
      ref nullobj, ref nullobj, ref nullobj);
    doc.ActiveWindow.Selection.WholeStory();
    doc.ActiveWindow.Selection.Copy();
    IDataObject data = Clipboard.GetDataObject();
    
    // get number of pages
    Microsoft.Office.Interop.Word.WdStatistic stat = Microsoft.Office.Interop.Word.WdStatistic.wdStatisticPages;
    int pages = doc.ComputeStatistics(stat, Type.Missing);
    
    string text = data.GetData(DataFormats.Text).ToString();
    textBox2.Text = text;
    doc.Close(ref nullobj, ref nullobj, ref nullobj);
    app.Quit(ref nullobj, ref nullobj, ref nullobj);
    
    0 讨论(0)
  • 2021-01-19 06:01

    For me, the ComputeStatistics function would give me a higher number than the actual number of pages so that didn't work for me.

    I used range.get_Information()

    var range = doc.Range().GoTo(WdGoToItem.wdGoToPage, WdGoToDirection.wdGoToLast);
    var numPages = range.get_Information(WdInformation.wdActiveEndPageNumber);
    

    The first line gets the range on the last page of the document. The second line gets the page where the range is.

    0 讨论(0)
  • 2021-01-19 06:06

    Look at this example:

    http://www.c-sharpcorner.com/UploadFile/amrish_deep/WordAutomation05102007223934PM/WordAutomation.aspx

    Specifically, look at Word.WdFieldType.wdFieldPage and Word.WdFieldType.wdFieldNumPages.

    0 讨论(0)
提交回复
热议问题