如何使用 Interop Word select 页面的最后一个字符?

How to select the last characters of a page with Interop Word?

我正在使用 Interop.Word API.

自动编辑 Word 文档的应用程序

我对首页上的某些元素(如标题)进行了格式更正。 当我编辑格式时,下一部分的文本会移动。这是有问题的,它改变了图形和表格的位置。

我的雇主允许我通过调整第一页上的一个元素的行距来解决这个问题。我已经有了执行此操作的代码。我比较编辑前后的字符串以执行行间距修改。

我不知道如何 select 页面的最后一个字符。

我已经试过了,但问题是整个文档都被select编辑了。

        object missing = System.Reflection.Missing.Value;
        object what = Microsoft.Office.Interop.Word.WdGoToItem.wdGoToPage;
        object which = Microsoft.Office.Interop.Word.WdGoToDirection.wdGoToAbsolute;
        object count = 1; //pagenumber

        doc.Selection.GoTo(ref what, ref which, ref count, ref missing);
        Object endPageOne = doc.Selection.Range.End;

        Range range = doc.ActiveDocument.Range(ref endPageOne);
        range.Select();
        return range;

我需要找到一种方法来 select 第一页的最后几个字符。

我自己找到了解决方案。

此代码 select 是完整的第一页。使用 substring 我可以 select 最后一个字符。

        object missing = System.Reflection.Missing.Value;
        object what = Microsoft.Office.Interop.Word.WdGoToItem.wdGoToPage;
        object which = Microsoft.Office.Interop.Word.WdGoToDirection.wdGoToAbsolute;
        object count = 1; //pagenumber
        object count2 = (int)count + 1;

        Range startRange = doc.Selection.GoTo(ref what, ref which, ref count, ref missing);
        Range endRange = doc.Selection.GoTo(ref what, ref which, ref count2, ref missing);
        endRange.SetRange(startRange.Start, endRange.End);
        endRange.Select();
        return endRange;