한글 문서 내에 표가 몇 개 있는지 확인하는 방법입니다.
한글 자동화를 구현하실 때는 아래 문서를 참고하시면 됩니다.
준비하기
먼저 아래 그림과 같이 표가 3개 있는 한글 문서를 준비했습니다.
그 다은 한컴 디벨로퍼 공식문서를 확인해 보니
HeadCtrl 속성을 사용하면 표를 찾을 수 있다고 되어 있습니다.
HwpAutomation.pdf 파일을 참고하시면 됩니다.
HeadCtrl은 처음부터 LastCtrl은 마지막에서부터 찾는 것 같습니다.
내용을 살펴보면 Ctrl.Next를 통해 다음의 표 또는 그림 등으로 이동하는 것 같은데
그럼 이동 했을 때 이동한 부분이 표가 맞는지 확인을 하는 방법에 관한
내용을 찾아보았습니다.
동일한 문서에 CtrlID 속성이 있습니다.
이 속성은 표, 미주, 각주, 머리말, 꼬리말 등을 ID를 통해
확인이 가능합니다.
표의 ID는 tbl로 되어 있습니다.
코드 작성하기
저는 실행 중인 한글 문서를 조작하고 있으므로
아래 블로그의 코드를 참고해서 hwp 객체를 생성했습니다.
※ 실행 중인 한글(Hwp, Hwpx) 프로그램 조작하기
def get_table_count(hwp):
table_count = 0
ctrl=hwp.HeadCtrl
while ctrl:
if ctrl.CtrlID == "tbl":
table_count += 1
ctrl = ctrl.Next
return table_count
i = get_table_count(hwp)
print(f"현재 문서에서 표의 개수 : {i}개")
[실행결과]
현재 문서에서 표의 개수 : 3개
table_count = 0 으로 표의 개수를 0으로 초기화합니다.
ctrl = hwp.HeadCtrl을 사용하여 문서의 첫 번째 컨트롤을 가져온 후
ctrl.CtrlID == "tbl"을 사용하여 true인 경우
table_count를 증가시킵니다.
한글 표의 설정을 보면
글자처럼 취급이라는 것이 있습니다.
아래 그림에서 파란색 원은 글자처럼 취급을 한 표이고
빨간색 원은 글자처럼 취급을 체크 해제한 표입니다.
이 속성을 적용하여도 코드의 실행결과는 동일합니다.
한글 내부에서 표가 글자처럼 취급이 되는지 여부는
표의 개수를 세는 데 영향을 미치지 않는 것으로 보입니다.
여기를 방문하시면 더 많은 파이썬 관련 자료를 확인할 수 있습니다.
'파이썬(Python)' 카테고리의 다른 글
[ 파이썬 한글 자동화 ] 숫자로 입력한 금액을 한글 금액으로 바꾸기 (0) | 2024.10.13 |
---|---|
[ 파이썬 한글 자동화 ] 한글 문서의 위치 : GetPos(), SetPos() (0) | 2024.10.11 |
[ 파이썬 한글 자동화 ] 실행 중인 한글(Hwp, Hwpx) 프로그램 조작하기 (2) | 2024.10.10 |
[ Tkinter ] 파이썬(Python) Tkinter에서 Treeview 정렬 기능 구현하기 : 헤더(제목) 클릭 시 오름차순/내림차순 정렬 (0) | 2024.10.08 |
[ Tkinter ] 파이썬(Python) Tkinter 달력에서 날짜 선택하기 : 달력 표시하기 Tkcalendar (0) | 2024.10.07 |