import win32com.client as win32
import os
import time
현재 파이썬 스크립트의 위치를 기준으로 ‘문제’ 폴더 경로 설정
script_dir = os.path.dirname(os.path.abspath(file))
problem_dir = os.path.join(script_dir, ‘문제’)
‘문제’ 폴더 내의 모든 .hwp 파일 목록 가져오기
hwp_files = [f for f in os.listdir(problem_dir) if f.lower().endswith(‘.hwp’)]
한글 워드 프로세서 객체 생성
hwp = win32.gencache.EnsureDispatch(“HWPFrame.HwpObject”)
한글 창 표시
hwp.RegisterModule(“FilePathCheckDLL”, “FilePathCheckerModule”)
hwp.XHwpWindows.Item(0).Visible = True
파일별로 처리
for hwp_file in hwp_files:
file_path = os.path.join(problem_dir, hwp_file)
try:
print(f"Processing file: {file_path}")
# 문서 열기
hwp.Open(file_path)
time.sleep(1) # 문서 열기 대기
# 매크로 실행
hwp.RunScriptMacro("OnScriptMacro_예시", 0, 0)
time.sleep(1)
# 저장 경로를 원본 파일 경로로 설정 (덮어쓰기)
hwp.Save()
# 문서 닫기
hwp.XHwpDocuments.Close(isDirty=False)
except Exception as e:
print(f"파일 {hwp_file} 처리 중 오류 발생: {e}")
continue
한글 종료
hwp.Quit()
print(“완료.”)
위와 같이 파이썬으로 스크립트 매크로를 해당 폴더에 있는 한글 파일들 전체에 적용하고 싶은데
RunScriptMacro에서 매크로가 실행되지 않는데 혹시 어떤 문제가 있는 것일까요?
RunScriptMacro가 한글 버전에 따라서 지원을 안하는 경우가 있나요?