开发工做中有一个需求是使用金格控件对excle文档进行自动填充,API以下:函数
WebOffice.WebObject.Application.ActiveCell.SpecialCells(11).Select(); //选中当前单元格中最后一行列单元格
可是这条语句在WPS下和office下的执行效果却不一样,在WPS下获取的是最后一个有效单元格。在office中得到的是最后一行坐标为256列的格子(列数为默认最大)。
若是使用
WebOffice.WebObject.Application.ActiveCell.Row; //获取最后一行数值,该数值就至关于有效内容总行数
在WPS 和office获取的值相同,
WebOffice.WebObject.Application.ActiveCell.Column; //获取最后一列数值,该数值就至关于有效内容总列数
在WPS下正常输出有效地列数,office中输出256
在网上查资料,使用以下函数问题解决
ActiveSheet.Cells(row, 1).
End
(-4161).Column//从最后一列由右至左的查找有效地列的位置
下图为SpecialCells()函数中对应的常数表明的意义