相关疑难解决方法(0)

以编程方式取消对 Excel 文件的保护

我们正在从一个客户端获取一个 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()
Run Code Online (Sandbox Code Playgroud)

任何人都可以为我提供有效的取消保护命令的正确语法吗?

python com excel pywin32

6
推荐指数
4
解决办法
2万
查看次数

标签 统计

com ×1

excel ×1

python ×1

pywin32 ×1