今
日
鸡
汤
风里雨里,这里等你。
大家好,我是Python进阶者。
前几天在Python最强王者交流群【鶏啊鶏。】问了一个Python自动化办公问题。问题如下:
for sheet in self.workbook.Sheets:
last_row = sheet.Cells.SpecialCells(11).Row
last_col = sheet.Cells.SpecialCells(11).Column
# 设置打印范围为A1到最后一行最后一列
print_range = sheet.Range(sheet.Cells(1, 1), sheet.Cells(last_row, last_col))
sheet.PageSetup.PrintArea = print_range.Address
请教下熟悉win32com 调用WPS/EXCEL的大佬们
这段代码我查了下是设定EXCEL的打印范围的 但执行完毕后我打开查看范围并未调整,想请问下是否还缺什么?(目的是为了将打印范围设定为最左上至到最右下有内容的单元格)
这里【东哥】指给了一些思路:在设置打印区域之前,输出last_row和last_col的值,确保它们是正确的。
如果工作表中存在一些特殊的单元格(如合并单元格、图表等),这可能会影响SpecialCells方法的判断。
然后上面无误的话,检查print_range.Address输出什么,打印预览,确认它代表了正确的范围。
记得还需要重新另存为哈,如果没有保存,可能有点问题。
粉丝根据提示确认之后,发现区域内很多None。
下图是结果:
【隔壁?山楂】指出看起来没问题,起码数据是发生变化了的。
后来【瑜亮老师】和【黑科技·鼓包】也给予了补充,如下图所示。
顺利地解决了粉丝的问题。