열린 보호 기능과 쓰기 보호 기능이 설정된 클라이언트에서 Excel 파일을 가져 왔습니다. 파이썬 xlrd 모듈로 Excel 파일을 열 수 있도록 보호 기능을 제거하고 싶습니다. COM을 통해 Excel 파일에 액세스하기 위해 pywin32 패키지를 설치했으며 두 암호를 제공하고 저장하고 오류없이 파일을 닫는 프로그램에서 열 수 있습니다. MSDN 네트워크에서 설명한대로 Unprotect 명령을 사용하고 있으며 실패하지는 않지만 보호 기능을 제거하지도 않습니다. 프로그램을 마친 후에도 저장된 파일에 암호가 두 개 있어야 열 수 있습니다. 다음은 내가 지금까지 가지고있는 것입니다 :프로그래밍 방식으로 Excel 파일 보호 해제
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()
아무도 나에게 올바른 명령문을 제공 할 수 있습니까?
질문을 수정하고 태그를 추가하는 방법을 알아 냈 작동; 여전히 주요 질문에 도움이 필요합니다. – JimR
'SaveAs'를 사용하고 빈 문자열을'Password' 및'WriteResPassword' 매개 변수에 전달할 수 있다고 생각합니다. http://msdn.microsoft.com/en-us/library/office/ff841185(v=office.15). aspx –