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)

相关推荐
蓝染-惣右介12 分钟前
【若依RuoYi-Vue | 项目实战】帝可得后台管理系统(二)
java·前端·后端·vue·springboot
齐 飞16 分钟前
Java接口和抽象类的区别
java·笔记·后端
Xiu Yan17 分钟前
LeetcodeTop100 刷题总结(一)
java·数据结构·算法·链表·矩阵·哈希算法·数组
彤银浦19 分钟前
Python学习过程记录1
python·学习
Rainyocode22 分钟前
Java为什么不直接实现Iterator接口,而是实现Iterable?
java
麻木的根号三22 分钟前
【C++初阶】探索STL之——vector
java·开发语言·c++
小羊瑞士26 分钟前
代理模式---静态代理和动态代理
java·代理模式
学步_技术27 分钟前
Python编码系列—Python代理模式:为对象赋予超能力的魔法
开发语言·python·代理模式
(⊙o⊙)~哦32 分钟前
spring boot 定时器配置
java·spring boot·后端
Midsummer啦啦啦42 分钟前
网址匹配正则表达式(python实现)
开发语言·python·正则表达式