2

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

docs.ActiveWindow.Selection.WholeStory();
docs.ActiveWindow.Selection.Copy();
IDataObject data = Clipboard.GetDataObject();

The wholestory() function selects the entire word document.

Please suggest me if i can select page by page.

Deduplicator
  • 44,692
  • 7
  • 66
  • 118
fawad
  • 1,323
  • 11
  • 31
  • 50

3 Answers3

4

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();
Chepene
  • 1,128
  • 1
  • 12
  • 18
0

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);
Community
  • 1
  • 1
paulsm4
  • 114,292
  • 17
  • 138
  • 190
0

This is the first item that pops up on Google. To save future me time, if you are trying to go to a bookmark, you can do something like this.

    private void WordGoto(string _name)
    {
        object what = WdGoToItem.wdGoToBookmark;
        object which = WdGoToDirection.wdGoToAbsolute;
        object name = _name;
        //object count = 0;
        object missing = System.Reflection.Missing.Value;
        Wordapp.Selection.GoTo(ref what, ref missing, ref missing, ref name);
    }
Rob
  • 2,363
  • 7
  • 36
  • 54