Select page in docx using C#

后端 未结 2 988
没有蜡笔的小新
没有蜡笔的小新 2021-01-15 06:36

I\'m currently getting the entire word document in a variable as below:

docs.ActiveWindow.Selection.WholeStory();
docs.ActiveWindow.Selection.Copy();
IDataOb         


        
相关标签:
2条回答
  • 2021-01-15 07:14

    You should be able to do something like this:

    how can we open a word file with specific page number in c sharp?

    object what = Microsoft.Office.Interop.Word.WdGoToItem.wdGoToPage;
    object which = Microsoft.Office.Interop.Word.WdGoToDirection.wdGoToFirst;
    object count = 3;
    
    wordApplication.Selection.GoTo(ref what, ref which, ref count, ref missing);
    
    0 讨论(0)
  • 2021-01-15 07:27

    You need to set range, which you want to select.

    Example:

    object what = WdGoToItem.wdGoToPage;
    object which = WdGoToDirection.wdGoToAbsolute;
    object count = 0;
    
    const string fileName = "C:\\1.docx";
    object fileNameAsObject = fileName;
    
    Application wordApplication = new Application();
    object readOnly = false;
    object missing = System.Reflection.Missing.Value;
    wordApplication.Documents.Open(ref fileNameAsObject, ref missing, ref readOnly, ref missing,
                                     ref missing, ref missing, ref missing, ref missing,
                                     ref missing, ref missing, ref missing, ref missing,
                                     ref missing, ref missing, ref missing, ref missing);
    
    Range startRange = wordApplication.Selection.GoTo(ref what, ref which, ref count, ref missing);
    object count2 = (int)count + 1;
    Range endRange = wordApplication.Selection.GoTo(ref what, ref which, ref count2, ref missing);
    
     //if you want to select last page
     if (endRange.Start == startRange.Start)
     {
       which = WdGoToDirection.wdGoToLast;
       what = WdGoToItem.wdGoToLine;
       endRange = wordApplication.Selection.GoTo(ref what, ref which, ref count2, ref missing);
     }
    
     endRange.SetRange(startRange.Start, endRange.End);
     endRange.Select();
    
    0 讨论(0)
提交回复
热议问题