Python 使用Win32Com 创建Excel对象直接操作Excel

import win32com.client

xl= win32com.client.Dispatch("Excel.Application")

wb=xl.Workbooks.open(r'C:\Users\ming12.liu\Desktop\Book1.xlsx')

sheet=wb.worksheets(1)

sheet.Protection.AllowEditRanges.Add("Ops", sheet.Columns("B"), "Ops")

sheet.Protect(Password:="F&C", DrawingObjects:=True, Contents:=True, Scenarios:=True)

wb.Save()

wb.Close()

xl.Application.Quit()

其中遇到一个问题,当sheet已经被保护了,再次执行代码时报错:

Traceback (most recent call last):

File "c:\Users\ming12.liu\Desktop\import win32com.py", line 8, in <module>

sheet.Protection.AllowEditRanges.Add("Ops", sheet.Columns("B:B"))

pywintypes.com_error: (-2147352567, '发生意外。', (0, None, None, None, 0, -2146827284), None)

相关推荐
野生技术架构师15 分钟前
牛客网互联网大厂 Java 高频面试题整理(持续更新)
java·开发语言
小师兄吃牛肉38 分钟前
Java语法 | 多重循环
java·开发语言·python
Han.miracle1 小时前
MySQL InnoDB:MVCC、记录锁、间隙锁、二级索引MVCC底层原理
java·开发语言
明如正午1 小时前
用 Python 一键把 ASC 文件转成 BLF(基于 python-can)
python·can·blf·asc
不停喝水1 小时前
【前端转全栈java速通课】 项目实战④7-11节 操作数据库-登录-注册-修改密码-注销-mubatis-plus简化crud-
java·前端·数据库
y1su1 小时前
Leetcode 二分模板
java·数据结构·算法·leetcode·排序算法
leisoo80972 小时前
融资融券数据怎么查两融指标含义与杠杆观察方法 IG50免费开源股票数据API接口
开发语言·jvm·数据库·python·json
霸道流氓气质2 小时前
多Agent通信机制与协议设计完全指南:从FIPA-ACL到A2A/MCP的Java生产级实战
java·开发语言
007张三丰2 小时前
C/C++ 内存管理详解:从内存分布到 new/delete 底层原理
java·c语言·c++·内存管理