본문 바로가기
그 외 컴퓨터 활용/한글

한글 문서 편집, 자동화 할 수 없을까?(한글매크로)

by 나홀로코더 2021. 11. 23.
반응형

서론


회사원이라면 아래아한글을 사용해 문서를 편집하는 경우가 많을 것이다.

특히 공무원 또는 공공기관 직원이라면 워드를 사용하는 경우는 거의 없고 대부분의 문서를 아래아한글로 작성할 것이다.

문서를 작성하다 보면 반복되는 작업이 많을 텐데, 아래아한글에도 매크로 기능이 있다는 것을 아는 사람은 많지 않은 것 같다.


본론


아래아한글을 실행하고 상단의 "도구" 메뉴를 눌러보자.

"스크립트 매크로" 버튼이 있을 것이다.


해당 버튼을 눌러보면, 매크로 정의, 매크로 보안 설정, 매크로 실행 등 세부 메뉴가 나온다.


한글매크로를 사용하려면 우선 보안 설정을 변경해야 한다.

매크로 보안 설정을 누르고 "낮음(권장하지 않음)"으로 변경하자.


그런 다음 간단한 매크로를 하나 만들어보자.

정말정말 간단하지만 필자가 실제로 애용하고 있는 매크로이다.

문서를 작성하다보면 단어의 중간이 잘리면서 한두 글자가 다음 줄로 넘어가는 경우가 있다.

한 줄이 다음 줄로 넘어가 있다.


그럴 때는 보통 자간을 조정하는데, 경우에 따라 다르지만 해당 줄을 블록 설정하고 자간 조정 단축키(alt + shift + n)를 세번 정도 누르면 한글자가 윗줄로 올라간다.

간단하지만 성가신 작업인데, 매크로를 이용하면 세번 누를 것을 한번으로 줄일 수 있다.

위에서 봤던 스크립트 매크로 버튼을 누르고 매크로 정의를 눌러보자.

단축키 alt + shift + H 를 눌러도 된다.

 

기본값으로 저장돼 있는 매크로 목록이 나올 텐데, 일반 회사원이라면 별로 쓸 일이 없어 보인다.

각 매크로마다 단축키가 지정돼 있는데, 마음에 드는 것을 아무거나 선택한 뒤에 "정의"를 눌러보자.

 

이름을 바꾸고 싶으면 밑에서 이름을 따로 정해도 된다.


마우스 커서의 모양이 바뀌고, 문서 하단에 아래와 같이 "매크로 기록 일시 중지"와 "매크로 기록 중지" 버튼이 생길 것이다. 스크립트 매크로 기록이 시작된 것이다.



이제부터 매크로 기록을 중지할 때까지 모든 작업이 기록된다.

우리가 만들려는 자간 조정 매크로를 기록해보자.

현재 커서가 있는 줄의 맨 앞으로 커서를 이동한 뒤, 줄의 맨 끝까지 블록을 설정하고, 자간 줄이기 단축키를 세 번 누른 뒤에 다시 커서를 줄의 맨 앞으로 되돌린다.

 

다른 작업으로 기록하고 싶으면 아무 것이나 원하는 동작을 하면 된다.

다 했으면 매크로 기록 중지 버튼을 누르고 나서, 매크로를 정의한 단축키를 눌러보자.

 

조금 전에 했던 동작이 그대로 반복될 것이다.

기록된 매크로를 이용해 자간을 조정한 모습


스크립트가 어떻게 기록돼 있는지 한번 확인해보자.

상단의 스크립트 매크로 버튼을 다시 누르고 이번에는 매크로 실행 메뉴를 클릭한다.

 

단축키는 alt + shift + L 이다.

조금 전에 기록한 매크로를 선택하고 "코드 편집"을 눌러보자.



아래와 같이 화면 오른쪽으로 스크립트 편집 화면이 나타날 것이다.

 

명령어에 대해 잘 몰라도 내가 기록한 것이니 각 명령어가 무슨 동작을 하는지는 짐작할 수 있을 것 같다.



스크립트 편집 화면에서 자간 조정을 세번이 아니라 여섯 번씩 해주게 바꿔보자.

 

보아하니 HAction.Run("CharShapeSpacingDecrease"); 부분이 자간 조정을 한번 하는 것 같으니, 세줄을 더해준다.

 

편집을 다 했으면 중간쯤 있는 버튼들 중에 오른쪽에서 세번째에 있는 "매크로 적용" 버튼을 눌러준다.

편집한 매크로를 다시 실행해보자. 이번에는 자간이 6번 조정되어 두 글자가 윗줄로 올라갈 것이다.

스크립트를 조금만 더 편집해보자.

이번에는 자간을 세번 줄이고 다음 줄로 커서를 이동하는 버전이다.

 

제일 마지막 줄을 HAction.Run("MoveDown");로 바꾸면 된다.

그런다음 "매크로 반복 횟수"란에 5를 입력하고 매크로를 실행해보자.

(매크로 반복 횟수는 위에서 본 "매크로 실행" 화면에서도 지정할 수 있다.)

 

이번에는 다섯 줄을 이동하면서 자간을 줄여준다.

매크로 실행 전
매크로 실행 후

마무리


예제로 본 매크로는 너무 단순하여 우습게 생각할 수도 있다.(실제로는 매우 실용적이다.)

그러나 반복 실행이 필요한 작업이라면 스크립트 매크로 기능을 사용하여 아무리 복잡한 작업이더라도 자동화할 수 있다.

코드를 직접 쓸 필요도 없으니 이보다 편리할 수가 없다.

각자 본인에게 필요한 스크립트를 나름대로 만들어 사용해보기 바란다.

필자는 이제 스크립트 매크로를 알기 전으로는 돌아가고 싶지 않을만큼 만족하고 있다.

반응형

댓글