在.NET Excel VSTO中,我可以识别活动窗口中当前可见的行吗?

时间:2015-05-04 16:04:35

标签: .net excel scroll vsto

我有一个VSTO项目,它与数据库连接以将信息提取到Excel工作表中。我想确定从数据库中拉出的最后一行当前是否在窗口中可见,如果不是(并且只有不是),滚动窗口使其可见。有没有办法确定活动窗口视图中的行/单元格/范围或活动窗口视图中可见的行/单元格范围?

2 个答案:

答案 0 :(得分:0)

您可以通过ActivePaneActiveWindow属性执行此操作。然后使用ActivePane的VisibleRange属性。

如果您在使用ActivePane时遇到问题,可能需要在激活冻结窗格时阅读有关Excel bug with the ActivePane的文章。

答案 1 :(得分:0)

SpecialCells返回一个Range对象,该对象表示与指定类型和值匹配的所有单元格。您只需传递 xlCellTypeVisible 值即可获得可见单元格。有关详细信息,请参阅How to get the range of the visible rows after applying an advanced filter in Excel (VBA)

此外,您可能会发现Show方法滚动活动窗口的内容以将范围移动到视图中。范围必须由活动文档中的单个单元格组成。