본문 바로가기
아래아한글 자동화/python+hwp 입문

2-7. 필드 삭제하기

by 회사원코딩 2022. 11. 9.

필드를 삭제하는 일이 흔한 경우는 아니지만,

보고서를 작성해서 공유하거나 상사에게 HWP파일로 송부하는 경우

간혹 "자꾸 무슨 빨간 꺽쇠가 뚝딱거린다?"며 불편한 피드백을 보이는 분들이 계세요.

그런 피드백푸념에 대비하기 위해

최종 보고서 작성까지는 누름틀을 통해서 자동화했더라도,

배포(?)할 때에는 내용은 그대로 두고 누름틀만 삭제하는 기능이 있습니다.

바로, hwp.DeleteCtrl(ctrl) 인데요.

사실 이 명령어는 누름틀을 삭제하는 기능뿐만 아니라,
표나 이미지 등 모든 컨트롤을 삭제할 수 있는 범용 메서드입니다.

사용법도 간단합니다.

괄호 안에 파라미터로 삭제하고 싶은 컨트롤 객체를 넣으면 됩니다.

오히려 컨트롤을 선택하는 과정이 약간 더 복잡하게 느껴질 정도입니다.

2장 초반에서 많이 사용했던 "누름틀필드#완성.hwp" 파일을 예제파일로 다시 활용하겠습니다.

누름틀필드#완성.hwp
0.02MB

누름틀 필드에 내용은 다 들어가 있는 상태입니다.

아래는 누름틀 컨트롤만 삭제하는 파이썬 코드입니다.

물론 삽입된 텍스트는 그대로 두고요.

ctrl = hwp.HeadCtrl  # 문서 처음의 컨트롤(구역 정의) 선택
while ctrl:  # 모든 컨트롤을 순회하면서
    if ctrl.UserDesc == "누름틀":  # 컨트롤 이름이 "누름틀"이면
        hwp.DeleteCtrl(ctrl)  # 해당 컨트롤(누름틀)을 삭제
    ctrl = ctrl.Next  # 다음 컨트롤 선택(다음 컨트롤이 없으면 None이 지정됨)

실행해보겠습니다.

순식간에 모든 누름틀이 삭제되었습니다.

 

이번 챕터는 다소 짧네요.

여러분의 상사나 사우 분들의 기호에 따라 적절히 활용하시길 바랍니다.

솔직히 저는 문서를 완성했다고 필드를 삭제하거나 하지는 않습니다.

행복한 하루 되세요!

반응형

댓글0