The autoreload extension is already loaded. To reload it, use:
%reload_ext autoreload
The autoreload extension is already loaded. To reload it, use:
%reload_ext autoreload
한컴 오피스는 액션이라는 것을 통해서 다양한 문서 편집을 가능하게 하고 있습니다. 그런 편집을 파이썬에서 보다 쉽게 사용하기 위해 만든 라이브러리입니다.
기본적인 컨셉은 win32com을 쉽게 사용할 수 있게 개편한 것입니다.
문서 편집의 기본 기능인 1. 문장 입력하기 2. 커서 이동하기 2. 영역 선택하기 2. 서식 변경하기 3. 텍스트 가져오기
App
은 기존 hwpapi를 wrapping 하여 보다 사용하기 쉽게 만드는 것을 목적으로 하고 있는 클래스 입니다.
hwpapi
는 한글 컨트롤을 조합해서 자주사용했던 기능을 구현하였습니다. 또한, api 메소드를 통해 win32com의 방식으로 모두 사용할 수 있어 다양하게 사용할 수 있습니다.
아래와 같이 App 객체를 생성하면 한글이 열립니다.
한글을 조작할 때는 크게 action
과 hwpctrl method
로 나눌 수 있습니다. action
은 파라미터를 설정하고 그것을 실행시켜서 작동하는 방식으로 사용자 단축키를 누르면 실행되는 명령에 가깝다면 hwpctrl method
는 한글 자동화 모듈이 제공하는 것으로 사용자 입력에서는 신경쓰지 않아도 될 부분들을 처리하는 것이라고 보시면 됩니다.
공식 개발 매뉴얼에 여러 action
과 parameter
, method
의 설명을 제공하고 있습니다. 아쉽게도 문서가 잘 관리되고 있지는 않으며, hwpctrl
의 method
들을 보면 명시되어 있지 않은 기능들이 개발되어 있음을 알 수 있습니다.
앞으로 개발해 나가면서 확인된 액션과 메소드 들을 정리해 나가고자 합니다.
action
은 app
에서 생성할 수 있습니다. 방식은 크게 2가지로 직접 action key
를 입력하는 방법과 actions
에 있는 action
객체를 생성하는 방법이 있습니다. 아래 두 방식은 동일한 Action
객체를 생성합니다.
Delete
(지우기), BreakPara
(줄바꿈) 등 많은 action
은 파라미터 세팅이 필요 없습니다. 하지만 위에서 생성한 InsertText
객체는 입력할 텍스트 값을 넣어주어야 합니다. 이는 parameter
를 통해 설정할 수 있습니다.
파라미터를 설정한 후 다음과 같이 액션을 실행하면 텍스트가 입력되는 걸 볼 수 있습니다.
입력은 가장 자주 사용하는 것이기 때문에 다음과 같이 App
의 메소드로 만들었습니다.
크게 두가지 방법이 있습니다.
액션을 사용하는 방법과 단어를 찾아가는 방법이 있습니다.
actions를 아래와 같이 하여 찾는 경로를 깗게 할 수도 있습니다.
문서에서 드래그한 것과 같이 영역을 선택할 수 있습니다.
선택한 영역에 글자 서식을 넣을 수 있습니다.
문단 서식 또한 가능합니다.
현재 위치의 문장이나 텍스트를 가져 올 수 있습니다. 기본은 현재 문장의 시작에서 문장의 끝을 선택합니다.
선택 영역만 가져올 수도 있습니다.