我正在开发一个使用 Interop.Word API 自动编辑 Word 文档的应用程序。
我在第一页的一些元素上进行了格式化修改,比如标题,当我编辑格式化的时候,下一节的文字被移动了。这是一个问题,它改变了数字和表格的位置。
我的雇主允许我通过调整第一页中的一个元素的行距来解决这个问题。我已经有了这样做的代码。我比较编辑前后的字符串来执行行距修改。
我不知道的是如何选择一个页面的最后一个字符。
我已经试过了,但问题是整个文档都被选中了。
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;
我需要找到一种方法来选择第一页的最后几个字符。
我自己找到了解决方案。
这段代码选择了完整的第一页。用 substring
我可以选择最后的字符。
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;