编程论坛
注册
登录
编程论坛
→
VFP论坛
VFP 在EXCEL 如何取得每页的区域?
liunis
发布于 2022-11-23 19:30, 854 次点击
ActiveSheet.PageSetup.Pages.Count 返回的是可打印总页数,如果ActiveSheet.PageSetup.Pages.Count=5
那么,如果计算出 每页的起止地址区域?
3 回复
#2
csyx
2022-11-24 08:30
试试:
ActiveSheet.HPageBreaks.Count && 水平分页数, H -> V 就是垂直分页数
ActiveSheet.HPageBreaks(n).Location.Address && 字符型,第n个水平分页符位置
ActiveSheet.HPageBreaks(n).Location.Row && 数值型行号 或 Column 取列号
#3
liunis
2022-11-24 15:49
多谢啦。请问下原因
zhs=OLEAPP.ActiveSheet.HPageBreaks.Count
zhs1=OLEAPP.ActiveSheet.HPageBreaks(1).Location.Address &&这里数值是1时就对,当zhs大于1的数是就出错,是EXCEL版本的问题吗
OLEAPP.ActiveSheet.HPageBreaks(2).Location.Address &&出错,成员HPAGEBREAKS 不是一个对像 ,OLEAPP.ActiveSheet.HPageBreaks.Count返回值是5
#4
csyx
2022-11-24 20:09
确实有可能出现这种情况,我在多个 excel 版本中都遇到过
我目前的处理方式是先设置成分页预览视图模式,获取到需要的参数后再设回普通视图
OLEAPP.ActiveWindow.View = 2 && 分页预览视图
? OLEAPP.ActiveSheet.HPageBreaks.Count
? OLEAPP.ActiveSheet.HPageBreaks(2).Location.Addres
OLEAPP.ActiveWindow.View = 1 && 普通视图
1