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

박윤정님의 프로필 이미지
박윤정

작성한 질문수

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

한글 파일의 표에서 내용을 추출하여 다른 한글파일에 넣는 방법이 궁금합니다.

작성

·

159

1

안녕하세요.

좋은 강의 잘 듣고 있습니다. 감사합니다.

 

이번에 실무에 적용해보려고 이 강의를 수강하였는데요,

제가 하고 싶은 자동화는

한글파일로 된 신청서의 표에 적힌 정보를 가져와서

다른 한글파일의 표에 넣는 것입니다.

 

강의를 듣던 중 한글 파일의 표를 생성하고 쓰는 것은 알게 되었는데

한글 파일에 작성된 표에서 정보를 가져오는 방법은 알지 못해 질문드립니다.

 

감사합니다.

답변 2

1

박윤정님의 프로필 이미지
박윤정
질문자

또한, 커서가 표 밖에 있을 때 첫번째 셀로 옮기고 싶은데 이건 어떻게 하나요?

 

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

윤정님 안녕하세요?

표 밖에(기본적으로는 들어갈 표 좌측에) 커서가 있을 때

해당 표 안으로 들어가는 코드는

hwp.FindCtrl()
hwp.HAction.Run("ShapeObjTableSelCell")

이렇게 두 줄입니다.

기본적으로 A1 셀선택(CellBlock) 상태이며,

취소하려면 hwp.Cancel(),

표에서 나가려면 hwp.CloseEx() 명령어 등을 쓰시면 됩니다^^

 

1

박윤정님의 프로필 이미지
박윤정
질문자

안녕하세요, 진행하면서 한글 파일로 된 신청서의 표에 적힌 정보를 가져오는 것까지 성공했습니다.

그런데 GetText()와 hwp.HAction.Run('TableRightCell')를 사용하는 부분에서 어려운 점이 있습니다.

 

 

hwp.InitScan(0x00ff)

while True:

print(hwp.KeyIndicator()[-1][1:].split(")")[0])

state = 2

while state not in [0,1]:

state, text = hwp.GetText()

print("state: ", state, 'text: ', text)

if not hwp.HAction.Run('TableRightCell'):

break

 

라는 코드를 실행시키는 중인데

이렇게 결과가 나옵니다

image

 

읽어오는 자료는 이런 표입니다.

image제 예상으로는 아래와 같이 한 블록(An) 마다 그 안의 내용이 나와야하는 것 아닌가 싶은데, 위에는 하나의 블록에 표 안의 내용이 전부 다 나와서 이 부분이 이해가 되지 않아서 질문드립니다.

A1 
state:  4 text:  가
B1
state:  2 text:  나
A2
state:  2 text:  다
B2
state:  2 text:  라
A3
state:  2 text:  마
B3
state:  2 text:  바
박윤정님의 프로필 이미지
박윤정

작성한 질문수

질문하기