Wir erhalten eine Excel -Datei von einem Client, der offener Schutz hat und Reserveschutz eingeschrieben hat. Ich möchte den Schutz entfernen, damit ich die Excel -Datei mit dem Python XLRD -Modul öffnen kann. Ich habe das Pywin32 -Paket installiert, um über COM auf die Excel -Datei zuzugreifen, und ich kann es mit meinem Programm öffnen, das die beiden Passwörter bereitstellt, speichern und die Datei ohne Fehler schließen. Ich verwende ungeschützte Befehle, wie im MSDN -Netzwerk beschrieben, und sie versagen nicht, aber sie entfernen auch den Schutz nicht. Die gespeicherte Datei erfordert weiterhin zwei Passwörter, um sie nach Abschluss meines Programms zu öffnen. Hier ist, was ich bisher habe: < /p>
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()
< /code>
Kann mir jemand die richtige Syntax für ungeschützte Befehle zur Verfügung stellen, die funktionieren? < /p>
Eine Excel -Datei programmgesteuert unbeschwert ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post