可以使用 os 模塊和 glob 模塊來(lái)遍歷文件系統(tǒng)中的所有 Excel 文件恢准,并使用字典將文件名與密碼配對(duì)魂挂。然后,對(duì)于匹配的文件馁筐,可以調(diào)用之前提供的去除密碼的函數(shù)涂召。
以下是一個(gè)示例代碼:
import os
import glob
import win32com.client as win32
def remove_excel_password(file_path, password):
try:
excel = win32.Dispatch("Excel.Application")
excel.DisplayAlerts = False
workbook = excel.Workbooks.Open(file_path, False, False, None, password)
workbook.SaveAs(file_path, None, "", "")
workbook.Close()
excel.Quit()
print(f"已移除文件 {file_path} 的密碼!")
except Exception as e:
print(f"移除文件 {file_path} 的密碼時(shí)出現(xiàn)錯(cuò)誤:", e)
# 遞歸遍歷文件夾及其子目錄中的所有 Excel 文件并移除密碼
def remove_passwords_in_folder(folder_path, password_dict):
for root, dirs, files in os.walk(folder_path):
for file_name in files:
if file_name.endswith(".xlsx"):
file_path = os.path.join(root, file_name)
if file_name in password_dict:
password = password_dict[file_name]
remove_excel_password(file_path, password)
# 用法示例
folder_path = r"C:\Excel" # 替換為你的文件夾路徑
password_dict = {
"file1.xlsx": "password1",
"file2.xlsx": "password2",
"file3.xlsx": "password3"
} # 文件名和密碼配對(duì)
remove_passwords_in_folder(folder_path, password_dict)
在示例代碼中敏沉,remove_passwords_in_folder 函數(shù)接受文件夾路徑和文件名與密碼配對(duì)的字典作為輸入果正。它使用 glob 模塊查找文件夾中所有的 Excel 文件,然后對(duì)于匹配的文件盟迟,調(diào)用 remove_excel_password 函數(shù)來(lái)移除密碼秋泳。
請(qǐng)確保已經(jīng)安裝了 pywin32 模塊,并將示例代碼中的文件夾路徑和文件名與密碼配對(duì)的字典替換為你的實(shí)際值攒菠。然后運(yùn)行代碼迫皱,它將遍歷文件夾中的所有 Excel 文件,并根據(jù)字典中的密碼信息自動(dòng)去除密碼辖众。