인프런 커뮤니티 질문&답변

kun님의 프로필 이미지
kun

작성한 질문수

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

파이썬으로 한글오피스에 저장한 매크로를 실행할 수 있나요?

해결된 질문

작성

·

164

1

 

안녕하세요. 궁금한 사항이 있어서 질문 드립니다.

문서에서 모든 수식에 alt + 2( 한글오피스에 저장한 2번째 매크로)를 적용하고 싶습니다.
챗 gpt는 pyautogui.hotkey('alt', '2') 를 이용하라고 하는데
적용이 되지 않아서 질문 드립니다.

 


    ctrl = hwp.HeadCtrl
    while ctrl:
        if ctrl.CtrlID == "eqed":
            eqedCtrls.append(ctrl)
        ctrl = ctrl.Next


    for ctrl in eqedCtrls:
        hwp.SetPosBySet(ctrl.GetAnchorPos(0))
        hwp.FindCtrl()
        pyautogui.hotkey('alt', '2')
        hwp.Run("Cancel")

답변 1

2

일코님의 프로필 이미지
일코
지식공유자

안녕하세요?

hwp.RunScriptMacro 라는 메서드가 해당 기능을 지원합니다.

만약 아래와 같이 "중국어1성"이라는 함수로 스크립트 매크로를 녹화했다면

image

함수 이름은 자동으로 "OnScriptMacro_중국어1성()"이 되었어요.

그럼 파이썬에서 아래와 같이 함수 이름을 넣고

from pyhwpx import Hwp

hwp.RunScriptMacro("OnScriptMacro_중국어1성")

을 실행하시면 한/글 안에서 해당 함수가 실행됩니다.

 

image

만약 pyhwpx가 아니라 win32로 hwp를 여신다면

아래와 같이 필수파라미터 두 개를 더 입력하고 실행하시면 됩니다.

import win32com.client as win32


hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject")
hwp.XHwpWindows.Item(0).Visible = True

hwp.RunScriptMacro("OnScriptMacro_중국어1성", 0, 0)

실행결과는 동일합니다.

 

도움이 되었길 바랍니다.

행복한 하루 되세요^^

kun님의 프로필 이미지
kun
질문자

답변이 늦어서 죄송합니다.

선생님 덕분에 잘 해결했습니다.

진심으로 감사합니다.

 

kun님의 프로필 이미지
kun

작성한 질문수

질문하기