前提
PythonでWordファイルのパスワード解除処理を実装しています。
実現したいこと
処理の中で自動的にパスワードを入力し、パスワード入力ダイアログを表示せずにファイルを開きたいです。
発生している問題・エラーメッセージ
Documents.Open メソッド (Word)を使用しているのですが、引数を指定していてもパスワード入力ダイアログが表示されてしまいます。
該当のソースコード
import win32com.client import os import glob password1 = "該当のパスワード" # ↓テスト用のパス取得 path = os.getcwd() file = glob.glob(path + "/.a" + "//*") for fi in file: word = win32com.client.Dispatch('Word.Application') book = word.Documents.Open(fi, ReadOnly=False, PasswordDocument=password1, WritePasswordDocument=password1) book.SaveAs2(fi, Password='', WritePassword='') book.Close()
fileのパスに関しては、テスト用コードになります。 ファイルごとに処理を流したいため、テストフォルダのパスを取得し、for文でテストフォルダの中のファイルパスを回す流れです。
試したこと
・引数に指定したパスワードと対象のファイルのパスワードは一致しています
・デバッグで確認したところ、パスの取得などは想定通りにできている状態です。
補足情報(FW/ツールのバージョンなど)
Python 3.9.1
回答1件