注册 登录
编程论坛 VFP论坛

关于Excel操作

easyppt 发布于 2022-04-15 11:58, 1424 次点击
针对Sheet操作
这句:oExcel.ActiveSheet.Range('a1')  可以用这句替换: oExcel.Worksheets(1).Range('a1'),这样可以不用考虑sheets(1) 是否是活动的。

同样,针对 .ActiveWindow 级别的设置 如何指定具体的窗口,来代替.ActiveWindow 呢?

比如: .ActiveWindow.SplitRow = 2   ,这个 SplitRow属性 好像只能在 ActiveWindow 上设置,如何把这个 ActiveWindow 指定为具体的窗口对象
4 回复
#2
吹水佬2022-04-15 19:33
windows对象
如:
FOR EACH win IN excel.windows
    ? win.caption
ENDFOR
或:
FOR i=1 TO excel.windows.count
    ? excel.windows(i).caption
ENDFOR
#3
easyppt2022-04-16 08:54
谢谢吹版! 给力

VBA设置好奇怪哦,SplitRow 明明处理的是Sheet对象,为什么非要放到 窗口对象上呢?  放在窗口对象上,是不是就只能针对活动的Sheet操作? 能不能针对不活动的Sheet 操作呢?

比如 工作簿有3个Sheet,目前激活的是: Sheet2,现在要求在不激活 Sheet1的情况下,让 excel.windows(1).SplitRow = 2  针对 Sheet1,能做到吗


[此贴子已经被作者于2022-4-16 09:31编辑过]

#4
sdta2022-04-16 13:25
回复 3楼 easyppt
实际上做不到。
能否做到,自己试试不就知道了吗
#5
sych2022-04-16 16:08
https://blog.
这是一个大师级的总结,可以终结这个话题
1