C# MS Word:如何获取 table 单元格开始和结束的页码?

C# MS Word: How to get page number where a table cell starts and where it ends?

我需要查明 table 单元格是否分布在多个页面上。我的想法只是获取行开始和结束的页码。为了获取起始页和结束页,我编写了以下两种方法:

 public static long GetCellStartPageNo(Word.Cell cell)
    {
        long result = -1;
        cell.Select();
        cell.Application.Selection.Start = 0;
        cell.Application.Selection.End = 1;
        result = cell.Application.Selection.Information[Word.WdInformation.wdActiveEndPageNumber];
        return result;
    }



public static long GetCellEndPageNo(Word.Cell cell)
    {
        long result = -1;
        cell.Select();
        int len = cell.Application.Selection.Text.Length;
        cell.Application.Selection.Start = 0;
        cell.Application.Selection.End = len - 1;
        result = cell.Application.Selection.Information[Word.WdInformation.wdActiveEndPageNumber];
        return result;
    }

这两种方法背后的想法很简单:select 单元格中的第一个字符并获取 selection 范围的页码(=> 起始页),然后 select单元格中的最后一个字符并再次获取 selection 范围的页码(=> 结束页)。不幸的是,这两种方法总是 return 1 (=page 1) 作为结果。我做错了什么?

提前致谢, 迈克尔

我觉得问题出在这部分

cell.Application.Selection.Start = 0;
cell.Application.Selection.End = 1;

Selection.start 0 是文档的开头,而不是 table.

你需要这样的东西

cell.select();
cell.Application.Selection.End=cell.Application.Selection.Start+1;

cell.Application.Selection.Information[Word.WdInformation.wdActiveEndPageNumber];现在应该 return table 开始的页面。