python3使用xlwings模块如何冻结excel窗口?
使用xlwings模块操作Excel,在一个工作簿中添加了多个sheet表,如何指定其中一个sheet,冻结其前几行和前几列(如:前2行和前3列)呢? 没用过,网上搜的。https://zhuanlan.zhihu.com/p/346880283 suchocolate 发表于 2021-10-9 14:30
没用过,网上搜的。
https://zhuanlan.zhihu.com/p/346880283
网上只能搜到这个,但是不知道能冻结哪个sheet,想弄明白其中参数设置 本帖最后由 suchocolate 于 2021-10-13 13:36 编辑
一身腱子肉 发表于 2021-10-13 10:03
网上只能搜到这个,但是不知道能冻结哪个sheet,想弄明白其中参数设置
试试:
import xlwings as xw
wb = xw.Book('test3.xlsx')
wb.sheets['Sheet2'].select()
wb.sheets['Sheet2'].range('b2').select()
wa = wb.app.api.ActiveWindow
wa.FreezePanes = True
wb.save()
wb.close()
另外我看这个工具也是调用excel vba的api,那不如直接用excel vba就行了。Sub test()
Sheets("Sheet2").Select
Range("B2").Select
ActiveWindow.FreezePanes = True
End Sub suchocolate 发表于 2021-10-13 12:19
试试:
可以诶!感谢大兄弟!就是通过vba的api实现的,原来select也是一种操作,我一直把它忽略了~~~
另外,我刚刚试了一下,跨表选中单元格会报错,必须先选中sheet,再选中其单元格
(这句不能省:wb.sheets['Sheet2'].select())
xlwings的一个优势就是能结合vba对excel进行操作,
但是有时候我录制宏之后,不知道在python里怎么写,是否区分大小写或者参数设置这些不太明白 一身腱子肉 发表于 2021-10-13 15:47
可以诶!感谢大兄弟!就是通过vba的api实现的,原来select也是一种操作,我一直把它忽略了~~~
另外,我 ...
我看xlwings也提供python调用vba的操作,如果可以,我觉得可以把在python里操作麻烦的放到vba里,让python专门处理数据
页:
[1]