본문 바로가기

SetPosBySet2

[4/8] 캐럿을 개체 앞으로 이동하는 방법 이전 포스팅에서 hwp.FindCtrl()을 실행하면 캐럿과 인접한 개체(이미지)가 선택되는 것을 보여드렸습니다. 이 시점부터는 "개체"라는 용어 대신 "컨트롤(Ctrl)"이라는 용어를 사용하겠습니다. 한/글 내부적으로 통용되는 용어이니 익숙해지시길 바랍니다. 그런데, 캐럿을 컨트롤(표, 이미지, 차트 등) 앞으로 옮기려면 어떻게 해야 할까요? 모든 컨트롤은 연결되어 있기 때문에 우선 한/글 문서의 모든 컨트롤들은 "linked list"라는 자료형으로 모두 연결되어 있습니다. 그래서, 특정 컨트롤을 선택하려면 문서의 첫 번째 컨트롤인 hwp.HeadCtrl이나 마지막 컨트롤인 hwp.LastCtrl에서부터 시작해서 Next 또는 Prev 명령어로 순차적인 탐색을 해야 합니다. 현재 탐색중인 컨트롤의 타.. 2022. 10. 25.
SetPos 대신 SetPosBySet을 쓰면 훨씬 유용한 경우 : GetAnchorPos와 연계할 때 컨트롤코드를 써서 아래아한글 보고서 자동화를 할 때 십중팔구 사용하는 메서드가 있습니다. 해당 컨트롤의 위치를 찾아내는 GetAnchorPos, 그리고 찾아낸 위치로 찾아가는 SetPos가 대표적이죠. 이전 예제에서 사용한 GetAnchorPos 메서드 예제 일부를 먼저 살펴보겠습니다. def 문자열삽입(문자열): hwp.HAction.GetDefault("InsertText", hwp.HParameterSet.HInsertText.HSet) hwp.HParameterSet.HInsertText.Text = 문자열 hwp.HAction.Execute("InsertText", hwp.HParameterSet.HInsertText.HSet) caption_list = [ "구름 낀 하늘", "푸른 하늘", .. 2022. 9. 15.