標籤:exce soft write readonly msdn eth display ble 微軟
之前用到的win32com讀取帶密碼excel的相關內容,今天剛好準備整理下,突然探索方法又不靈了。
以下為錯誤示範:
# 已知excel密碼去除def del_password(filename, password): excel = DispatchEx("Excel.Application") # 啟動excel excel.Visible = True # 可視化 excel.DisplayAlerts = False # 是否顯示警告 wb = excel.Workbooks.Open(filename, Password=password) # 開啟檔案
這就神奇了,之前用著好好的呢?,沒道理啊這麼簡單的開啟,不就加個password參數?明明把密碼參數給輸入了,為什麼還提示輸入密碼框?
(再重新看看微軟bb的官方介紹)https://msdn.microsoft.com/zh-cn/VBA/Excel-VBA/articles/workbooks-open-method-excel,沒毛病啊。
實在不行,找回以前寫的。想起來有個問題,大家注意看不同,注意添加的幾個參數。
(標紅參數少一個不行,順序沒影響,但是這幾個參數之間沒有實在的聯絡啊,百思不得解。先mark下,有知道的大神指教下——之前也遇到過類似的方法唯寫一個參數不行,如有類似情況試著把參數寫全再進行操作)
暫時只得到一個結論:說明win32com讀取的excel操作不是嚴格按照python的位置參數,不是可有可無的,而是嚴格匹配。
——————————分割線————————————
以下為正確
# 已知excel密碼去除def del_password(filename, password): excel = DispatchEx("Excel.Application") # 啟動excel excel.Visible = visible # 可視化 excel.DisplayAlerts = displayalerts # 是否顯示警告 wb = excel.Workbooks.Open(filename, UpdateLinks=False, ReadOnly=False, Format=None, Password=password, WriteResPassword=password) # 開啟檔案
python win32com 讀取帶密碼的excel