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)

相关推荐
山人在山上3 分钟前
docker离线安装
java·docker·eureka
Yoshizawa-Violet3 分钟前
模板方法模式实战:重构Agent工具审批,告别重复代码
python·agent·模板方法
HjhIron7 分钟前
Python列表与LLM接口实战:从切片到DeepSeek调用
python
搬砖的小码农_Sky7 分钟前
macOS Sequoia上如何安装Python开发环境?
开发语言·python·macos
人间乄惊鸿客10 分钟前
c++自记录
java·开发语言·c++
Rauser Mack11 分钟前
编程纯小白,五分钟用AI做了个小游戏(附Prompt)
人工智能·python·html·prompt·ai编程
better_liang12 分钟前
每日Java面试场景题知识点之-MySQL底层数据结构B+树
java·数据结构·mysql·性能优化·面试题·b+树·数据库索引
蓝影灵13 分钟前
单体改微服务记录
java·开发语言
老码观察13 分钟前
设计模式实战解读(五):策略模式——干掉 if-else 的优雅方案
java·设计模式·策略模式
李少兄15 分钟前
Java 短路求值的优雅实践:用 `&&` 实现安全高效的批量操作控制
java·开发语言