如何解决C# MS Word:如何获取表格单元格开始和结束的页码?
我需要查明表格单元格是否分布在一页以上。我的想法只是获取行开始和结束的页码。为了获取开始和结束页面,我编写了以下两种方法:
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;
}
这两种方法的思路很简单:选中单元格的第一个字符,获取选择范围的页码(=>起始页),然后选中单元格的最后一个字符,再次获取选择范围的页码( => 结束页)。不幸的是,这两种方法总是返回 1(=page 1)作为结果。我做错了什么?
提前致谢, 迈克尔
解决方法
我认为问题出在这一部分
cell.Application.Selection.Start = 0;
cell.Application.Selection.End = 1;
Selection.start 0 是文档的开头,而不是表格的开头。
你需要类似的东西
cell.select();
cell.Application.Selection.End=cell.Application.Selection.Start+1;
cell.Application.Selection.Information[Word.WdInformation.wdActiveEndPageNumber];现在应该返回表格开始的页面。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。