아래아한글 문서를 자동화할 때
가장 많이 사용하는 기법은 역시 "필드삽입"이다.
누름틀이나 셀필드를 미리 삽입해 두고
엑셀문서나 데이터프레임에서 필드를 일괄삽입하는 방식으로
hwp 문서를 자동화할 수 있는데,
문제는 필드가 너무 많을 때에는
필드 삽입작업도 너무 귀찮다는 것.
예를 들어 아래의 문서를 자동화하려면
저 빈 칸에 전부 필드를 삽입해야 한다고 생각하면
자동화를 위한 준비작업조차 빡센 상황이 된다...
실제로는 이런 경우에는 필드삽입보다
한 행만 남겨놓고, 나머지 행을 삭제한 후
소스(엑셀파일)에 맞춰 동적으로 행을 추가해 가는 방식이 더 적절할 것 같기는 하다.
나중에 다뤄볼 것.
이런 경우에는 set_field_by_bracket을 사용해보자.
필드가 매겨질 곳에 대괄호 두겹으로 필드명을 써넣고,
hwp.set_field_by_bracket()을 실행하면
해당 문자열로 셀필드를 삽입해준다.
이제 엑셀이나 db 또는 DataFrame에서 가져온 값을 put_field_text 등을 통해
삽입하면 끝.
누름틀을 삽입할 때는
셀필드가 아니라 누름틀을 삽입할 때는
중괄호 두 겹을 넣고 set_field_by_bracket을 실행하면 된다.
이 때에는 {{필드명:안내문:메모}} 방식으로 콜론을 구분자로 입력하면 된다.
2022년도에, 한 공공기관과 함께
어마어마한 분량의 엑셀파일 소스를 가지고
백페이지가 넘는 한/글 보고서(결산실적, 연결재무제표)들을
자동완성하는 프로그램을 만드는 프로젝트를 진행한 적이 있었다.
그 때 몇 시간 동안 주구장창 필드 매핑하던 노가다를 떠올려보면
이 메서드가 도움이 될 작업이 분명 있을 듯도 하다.
여러분의 업무자동화에도 적용해보시기를 바란다.
'아래아한글 자동화 > pyhwpx 사용법' 카테고리의 다른 글
[pyhwpx] hwp.put_field_text에 입력 가능한 6가지 자료구조☆☆☆☆☆ (0) | 2024.02.10 |
---|---|
[pyhwpx] 메모 또는 메모고침표 일괄삽입하는 예제 (1) | 2024.02.10 |
[pyhwpx] 스크립트매크로를 파이썬 함수로 바꿔주는 hwp.clipboard_to_pyfunc (0) | 2024.02.10 |
댓글