커서 위치에 표 만들기.

안녕하세요?

파이썬을 이용하여 표를 만들려고 하고 있습니다.

pset = hwp.HParameterSet.HTableCreation
pset.Rows = 2
pset.Cols = 3
hwp.HAction.Execute(“TableCreate”, pset.HSet)

위의 코드를 사용하니 문서의 맨 왼쪽 맨 위에 표가 만들어지는데, 현재 커서 위치에 만들 수 있는 방법은 없을까요?

또한 만든 표의 셀의 위치를 가져올 수 있는 방법이 있는지 궁금합니다. [0, 1] 같은 방식으로 셀 접근이 가능할까요?

항상 큰 도움 받고 있습니다. 감사합니다!

(잘못 만지는 바람에 전 글이 잠겨서 새 글로 올립니다.)

1개의 좋아요

안녕하세요.

① 현재 커서 위치에 표를 만드는 방법
한글에서 표가 만들어지는 위치는 현재 캐럿의 위치입니다.
마우스 커서의 위치로 표를 만드는 API는 제공하지 않습니다.

② 표의 셀 위치 이동하는 방법
한글 API에서는 제공하지 않지만 아래 게시글의 답변에 @kosohn, @ilco 님의 커스텀 API를 개발할 수 있는 방법을 제시해주셨으니 참고 부탁드립니다.

감사합니다.

1개의 좋아요

앗 의도했던 질문이 커서가 아니라 캐럿입니다. 잘못 말했네요 ㅋㅋ

그런데 SetPos로 캐럿 위치 옮겨놨는데도 표를 만들면 문서 맨 왼쪽 위에 생성됩니다. 제가 뭘 잘못한 걸까요?

해당 글 참고해보겠습니다. 감사합니다!

1개의 좋아요

TreatAsChar 파라미터 기본값이 False로 설정되어 있고, 표 생성 위치가 왼쪽 위로 설정되어 있어서 그런 듯 합니다. 표 생성 매크로를 녹화하실 때, 세부 설정까지 원하는 값으로 변경하시고, 녹화된 코드를 참고해보시기 바랍니다.

(변경하지 않은 설정값은 매크로에 뜨지 않으므로, 초기값을 잘 잡으셔서, 필요한 설정값을 모두 얻으셔야 합니다ㅎ)

참고로 pyhwpx 같은 모듈을 사용하시면,

from pyhwpx import Hwp

hwp = Hwp()
hwp.create_table(2, 3, treat_as_char=True)

이런 코드로 표를 생성하실 수 있습니다.

pyhwpx로 아래아한글을 여시더라도, 대부분의 액션과 파라미터셋은 동일하게 사용 가능합니다. 일종의 익스텐션이라서요. 도움이 되었길 바랍니다.

행복한 하루 되세요!!!

1개의 좋아요

헉 잘 되네요. 항상 감사합니다 선생님!!!

1개의 좋아요