# 파이썬으로 스크립트 매크로 실행

**URL:** <https://forum.developer.hancom.com/t/topic/1900>\
**Category:** 한글 오토메이션\
**Created:** [10월 31, 2024, 6:55오전 UTC](https://forum.developer.hancom.com/t/topic/1900 "2024-10-31T06:55:53Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![s11ss](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.developer.hancom.com/s11ss/32/1324_2.png) [@s11ss](https://forum.developer.hancom.com/u/s11ss)\
**Post date:** [10월 31, 2024, 6:55오전 UTC](https://forum.developer.hancom.com/t/topic/1900/1 "2024-10-31T06:55:53Z")

</div>

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가 한글 버전에 따라서 지원을 안하는 경우가 있나요?

---

<div class="post-metadata">

**Author:** ![bhjung](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.developer.hancom.com/bhjung/32/259_2.png) [@bhjung](https://forum.developer.hancom.com/u/bhjung)\
**Post date:** [10월 31, 2024, 7:51오전 UTC](https://forum.developer.hancom.com/t/topic/1900/2 "2024-10-31T07:51:49Z")

</div>

안녕하세요.  
코드상 문제는 없어보입니다.  
스크립트 매크로가 없을경우 동작을 안할꺼같습니다.  
혹시 PC에 여러개의 한글이 깔려있으실까요?  
각 한글버전마다 가지고 있는 스크립트 매크로는 다르기 때문에 다른 버전에도 동일하게 있어야할것 같습니다.  
감사합니다 ^^

---

<div class="post-metadata">

**Author:** ![s11ss](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.developer.hancom.com/s11ss/32/1324_2.png) [@s11ss](https://forum.developer.hancom.com/u/s11ss)\
**Post date:** [11월 1, 2024, 2:07오전 UTC](https://forum.developer.hancom.com/t/topic/1900/3 "2024-11-01T02:07:01Z")

</div>

감사합니다~  
한글 버전 맞춰서 진행하니 문제 없이 실행되네요
