인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

YongJun(Passion)님의 프로필 이미지
YongJun(Passion)

작성한 질문수

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

문서의 홀수/짝수 페이지만 삭제하기

미주 개수 세는 법을 질문드립니다.

해결된 질문

작성

·

163

1

조건을 주어 파일의 실행을 관리하려합니다.

조건이 '미주 개수 == 누름틀 개수' 인 경우에 실행을 하려하는데

누름틀의 개수는 GetFieldList의 리스트의 요소 개수로 개수를 알 수 있지만 미주의 개수는 일일이 커서를 움직여서 개수를 세서 해야할지 고민입니다.

 

찾아보니 Count라는 함수가 있는 것을 보았는데
이런 경우 사용할 수 있는 것인지 함수를 써보아도 오류가 리턴되네요

항상 감사드립니다.

답변 1

1

일코님의 프로필 이미지
일코
지식공유자

Jun님 안녕하세요?

미주 갯수 세는 간단한 방법은

hwp.HeadCtrl부터 .Next로 순회하면서

UserDesc가 "미주"면 count에 1을 더합니다.

아래 코드를 검토해주시기 바랍니다.

image

import win32com.client as win32

hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject")
hwp.XHwpWindows.Item(0).Visible = True
hwp.Open("파일경로")

count = 0
ctrl = hwp.HeadCtrl
while ctrl:
    if ctrl.UserDesc == "미주":
        count += 1
    ctrl = ctrl.Next
print(count)

 

참고로 pyhwpx에는 hwp.ctrl_list라는 속성이 있는데요.

pyhwpx를 사용하시면 아래처럼 간편히 조회할 수도 있습니다.

image

>>> from pyhwpx import Hwp
>>>
>>> hwpx = Hwp()
>>>
>>> print(len([i for i in hwpx.ctrl_list
...            if i.UserDesc == "미주"])

10

 

도움이 되었길 바랍니다^^

질문 자주 남겨주세요.

API문서의 Count 는 한글오토메이션에서는 지원하지 않으며,

pyhwpx의 count()는, 문서 내 특정 어휘의 갯수를 세는 "찾기" 관련 메서드입니다.

 

감사합니다. 행복한 하루 되세요ㅎ

YongJun(Passion)님의 프로필 이미지
YongJun(Passion)

작성한 질문수

질문하기