【发布时间】:2015-02-17 20:10:38
【问题描述】:
我们从一个启用了打开保护和写入保留保护的客户端获取了一个 Excel 文件。我想删除保护,以便可以使用 python xlrd 模块打开 Excel 文件。我已经安装了 pywin32 包以通过 COM 访问 Excel 文件,我可以使用提供两个密码的程序打开它,保存并关闭文件而没有错误。我正在使用 MSDN 网络中描述的 Unprotect 命令,它们没有失败,但它们也没有删除保护。在我的程序完成后,保存的文件仍然需要两个密码才能打开它。到目前为止,这是我所拥有的:
import os, sys
impdir = "\\\\xxx.x.xx.x\\allshare\\IT\\NewBusiness\\Python_Dev\\import\\"
sys.path.append(impdir)
from UsefulFunctions import *
import win32com.client
wkgdir = pjoin(nbShare, 'NorthLake\\_testing')
filename = getFilename(wkgdir, '*Collections*.xls*')
xcl = win32com.client.Dispatch('Excel.Application')
xcl.visible = True
pw_str = raw_input("Enter password: ")
try:
wb = xcl.workbooks.open(filename, 0, False, None, pw_str, pw_str)
except Exception as e:
print "Error:", str(e)
sys.exit()
wb.Unprotect(pw_str)
wb.UnprotectSharing(pw_str)
wb.Save()
xcl.Quit()
谁能给我正确的解除保护命令的语法?
【问题讨论】:
-
弄清楚如何编辑问题和添加标签;仍然需要主要问题的帮助。
-
我认为你可以使用
SaveAs并将空字符串传递给Password和WriteResPassword参数msdn.microsoft.com/en-us/library/office/…