프로그래밍은 문외한인데
회사 업무상 갑자기 발생한 업무여서 파이썬을 이용해서 동일한 암호를 모두 걸고자 합니다.
30개 하위 폴더까지 존재하는 HWP 파일에 모두 암호를 걸고 싶은데
구글링과 CHAT GPT 도움을 아무리 받아도 계속 매개 변수 오류가 나오네요.
해결이나 조언을 부탁드립니다.
import os
import win32com.client
def set_password_for_hwp_file(file_path, password):
try:
# 한/글 COM 객체 생성
hwp = win32com.client.Dispatch(“HWPFrame.HwpObject”)
# 한/글 문서 열기
hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule")
hwp.Open(file_path)
# 문서 암호 설정
hwp.HParameterSet.SetItem("Password", password)
# 문서 저장
hwp.HAction.GetDefault("FileSaveAs")
hwp.HAction.Execute()
# 문서 닫기
hwp.HAction.GetDefault("FileClose")
hwp.HAction.Execute()
print(f"암호 설정 및 저장 완료: {file_path}")
except Exception as e:
print(f"오류 발생: {e}")
def process_subfolders(folder_path, level):
if level > 20:
return
subfolders = [f.path for f in os.scandir(folder_path) if f.is_dir()]
for subfolder in subfolders:
process_files_in_folder(subfolder)
process_subfolders(subfolder, level + 1)
def process_files_in_folder(folder_path):
files = os.listdir(folder_path)
for file in files:
file_path = os.path.join(folder_path, file)
if file.lower().endswith(".hwp"):
set_password_for_hwp_file(file_path, "ticnticn1!")
if name == “main”:
base_folder = r"C:\Users\shhan\Desktop\암호부여"
process_files_in_folder(base_folder)
process_subfolders(base_folder, 1)