C# 한글 오토메이션 개발중.. 버전 2018

안녕하세요.

C# 으로 아래한글 2018 한글 오토메이션으로 개발중인데… 특정 글자 예를 들면 부록을 찾은후, 찾은 곳의 줄위치를 페이지 제일 상단으로 옮기고 싶은데 , 이럴때 쓸수 있는 API 들이 있을 까요 ? 왜냐하면 부록의 문구 앞단에 엔터로 줄바꿈이 자꾸 몇개씩 들어가서요… 제일 상단에 위치 시키고 싶습니다.

안녕하세요.

문의주신 내용을 아래 순서로 슈도 코드로 작성할 수 있을 것 같습니다.

(실제 코드로 작성하면 수정이 필요할 수 있음)

"부록" 찾기 (Find 액션)
한 줄 선택  (MoveSelLineEnd)
잘라내기 (Cut)
페이지 시작 이동 (MovePageBegin)
붙여넣기 (Paste)

다만 “부록” 이라는 단어가 문서에 여러 위치에서 발견된다면 동작이 어긋날 수는 있을 것 같습니다.
그래서 제 생각에는 “부록의 문구 앞단에 엔터로 줄바꿈이 자꾸 몇개씩 들어가서요” 에 대한 원인을 찾아서 수정하시는 것이 간단한 해결책이 될 것 같습니다.

감사합니다.

1개의 좋아요

페이지 시작 이동 (MovePageBegin) 여기서 페이지 시작 이동이라 함은, 다음페이지 상단이 되는건가요 ? 아니면 현재 페이지의 시작인가요 ?

전 "부록"이라는 문자 의 상단에 다른 글귀가 있다면 다음 페이지 상단으로 가야 하고 다른 글귀가 없다면 현재 페이지 상단으로 가야 해서요… 부록 앞 라인에 글자가 있는지 체크 하는 API 같은게 있을까요 ? 위 방법으로 해결이 될거 같지가 않네요… 부록 아래에 달린 부록 들이 같이 다음페이지로 넘어가야 해서 … 부록 밑으로 달린 모든 내용들이 줄바꿈 되어야 합니다…

1개의 좋아요

혹시 찾은 특정 문구가… 한 페이지 기준으로 몇번째 라인에 글이 쓰여 있는지 알수 있는 API는 없을까요? 해당 API 가 있다면, 문제 해결이 될거 같습니다. 예를 들면, “부록” 이란 문구가 5번째 줄 에 있다던지, 이런 정보를 알수 없을까요 ?

⓵ MovePageBegin은 현재 캐럿 위치를 기준으로 캐럿이 위치한 페이지의 시작 지점으로 이동하는 액션입니다.
실행 코드는 간단하니 작성해보면서 이동 관련 액션들이 어떻게 동작하는지 확인하시면 감을 익히실 수 있을 것 겉습니다.

(C++)
hwp.Run(_T("MovePageBegin"));

⓶ 줄 번호는 문서 전체를 기준으로 카운팅을 합니다.
그래서 현재 쪽을 기준으로 몇 번째 라인인지는 알 수가 없습니다.
줄 번호 같은 레이아웃 정보 외에 ListId, ParaId, Pos 정보와 같은 모델 정보로도 현재 위치를 구할 수가 있으니 줄 번호에만 얽매이지 마시고 다른 방법을 찾아보시는 것도 좋을 것 같습니다.

GetPos, SetPos

감사합니다.