A client has sent us an Excel document with open protection and Write Reserve enabled. In order to use the Python xlrd module to open the Excel file, I need to remove the protection. My software can open the Excel file after installing the pywin32 package and providing the two passwords. It can also save and close the file without making any mistakes. The Unprotect commands that I'm using don't fail, but they also don't remove the protection, as mentioned in the MSDN Network. After my software is finished, the saved file still needs two passwords to open it. Here is what I currently have:
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()
Can anyone provide me the correct syntax for unprotect commands that will work?