안녕하세요,
아쉽게도 API는 없습니다… ㅜ
음 … 현재 셀에서 다음과 같이 테이블을 선택한 후 취소를 하면 마지막 셀의 위치로 이동하기 떄ㅜㅁㄴ에 여기에서 셀의 주소를 확인하면 어느정도 유추는 가능할것 같습니다…
Run("TableCellBlock");
Run("TableCellBlockExtend");
Run("TableCellBlockExtend");
Run("Cancel");
하지만 이럴경우 셀병합된 상태일 경우 크기가 맞지 않을수있습니다.
조금 노가다성이지만 아래와 같은 로직을 생각해봤습니다.
- 테이블의 첫번째 셀로 이동
HwpCtrl.Run("SelectCtrlReverse");
HwpCtrl.Run("ShapeObjTableSelCell");
- 현재 주소(행,열)을 가져온다.
- 가져온 주소를 버퍼에 담아두고, 셀 개수 ++
- 옆으로 이동
HwpCtrl.Run("TableRightCell");
- 주소를 가져온다. 버퍼와 값이 다를 경우 버퍼에 현재주소를 담으두고, 셀 개수 ++
- 3~4를 반복, 4에서 가져온값이 버퍼와 같은 값인경우 마지막 셀에서 더이상 이동을 못함으로 종료
- 최종 셀 개수를 카운트한다.
이런식으로 테이블의 개수를 가져올수 있을것 같습니다.
아 그런데 댓글을 작성하고 보니 행과 열의 개수네요.
행과 열의 개수도 오른쪽으로 넘어가면서 열의 번호가 바뀐 경우 해당 열의 행 개수를 종료하는 식으로 개수를 구하면 될것 같습니다.
감사합니다.