如何用Python Win32Com打开带密码保护的PowerPoint?报错求助
用Win32Com打开带密码保护的PowerPoint解决方案
可以通过Win32Com打开带密码保护的PPT,你遇到的错误是因为用错了参数名。
PowerPoint的Presentations.Open方法里,打开文档的密码参数是PasswordDocument,而不是你用的Password(这个是Excel的Workbooks.Open方法的参数名,PPT和Excel的API参数有区别)。
修正后的代码如下:
import win32com.client as win32 ppt_app = win32.Dispatch('PowerPoint.Application') ppt_app.Visible = True ppt_app.DisplayAlerts = True # 使用正确的参数名指定打开密码 presentation = ppt_app.Presentations.Open(r'C:\Users\Downloads\PPT File.ppt', PasswordDocument="123")
如果需要指定修改文档的写保护密码,可以额外加上WritePasswordDocument参数:
# 同时指定打开密码和写保护密码 presentation = ppt_app.Presentations.Open( r'C:\Users\Downloads\PPT File.ppt', PasswordDocument="123", WritePasswordDocument="456" )
另外也可以用位置参数传递(按参数顺序),PasswordDocument是第5个参数,示例:
# 位置参数:第1个是路径,第5个是打开密码 presentation = ppt_app.Presentations.Open(r'C:\Users\Downloads\PPT File.ppt', False, False, True, "123")
参数顺序对应含义:
- 1: 文件路径(必填)
- 2: 是否只读打开
- 3: 是否以副本打开(不保存到原文件)
- 4: 是否显示窗口
- 5: 文档打开密码
- 6: 模板密码(仅针对模板文件)
- 7: 是否还原到上次保存版本
- 8: 文档写保护密码
- 9: 模板写保护密码
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

