파이썬으로 기존에 열려 있는 아래아한글 프로그램을 제어하는 방법 : 클리앙

안녕하세요?파이썬으로기존에열려있는아래아한글프로그램을제어하는방법클리앙


기존에 열린 한/글 창을 파이썬으로 제어하는 방법을 몰라서

한컴오피스 개발자포럼에 문의글을 남겨봤습니다.

하루만에 한컴 개발자님께서 직접 회신을 주셔서 클리앙에도 공유해봅니다.


import win32cowww.client as win32import pythoncomcontext = pythoncom.CreateBindCtx(0)# 현재 실행중인 프로세스를 가져옵니다.running_coms = pythoncom.GetRunningObjectTable()monikers = running_coms.EnumRunning()for moniker in monikers:    name = moniker.GetDisplayName(context, moniker);    # moniker의 DisplayName을 통해 한글을 가져옵니다    # 한글의 경우 HwpObject.버전으로 각 버전별 실행 이름을 설정합니다.    if name == '!HwpObject.120.1':        # 120은 한글 2022의 경우입니다.        # 현재 moniker를 통해 ROT에서 한글의 object를 가져옵니다.        obje = running_coms.GetObject(moniker)        # 가져온 object를 Dispatch를 통해 사용할수 있는 객체로 변환시킵니다.        hwp = win32.gencache.EnsureDispatch(obje.QueryInterface(pythoncom.IID_IDispatch))        # 그이후는 오토메이션 api를 사용할수 있습니다.


참고로 위 코드의 "120.1"의 120은 한/글 2022의 경우인데,

버전별로 해당 숫자를 확인하는 가장 쉬운 방법은 한/글 설치폴더에서 확인하는 것입니다.

020.png


위 코드의 실행화면입니다.


업무자동화에 많이 활용해 주시기 바랍니다.

감사합니다.

행복한 하루 되세요!^^

사진게시판