한글기안기 관련 문의 사항이 있어 요청합니다.
특정 매뉴얼인 한글 파일을 파싱(Parsing)하는 프로그램을 만들었습니다.
특정매뉴얼은 목차 정보가 있고 목차 정보와 동일한 텍스트로 상세 내역에 대분류로 만들어져 있습니다.
예로
Ⅰ. 일반사항
- 목적
- 적용범위
문의사항은 해당 목차 정보의 텍스트를 클릭 시 한글파일에 있는 상세 내역으로 바로 이동하는 기능을 개발하고 싶습니다. 현재 HwpCtrl.CreateAction(‘RepeatFind’)이란 찾기 기능으로 개발을 하였으나 해당 텍스트가 있는 모든 곳으로 이동을 합니다. 상세내역의 대분류로만 이동하고 싶은데 가능한가요??
기능 개발한 소스는
var act = HwpCtrl.CreateAction('RepeatFind');
var set = act.CreateSet();
act.GetDefault(set);
set.SetItem("FindString", "목적");//찾을 문자열
set.SetItem("Direction" , 2); // 찾을 방향 (0: 앞, 1: 뒤, 2: 전체)
var vRes = act.Execute(set);
if (vRes == false){ //검색이 끝났을때
//HwpCtrl.MovePos(2);
return false;
} else {
//console에 위치 값 찍기
//console.log(HwpCtrl.GetPos());
var varGetPos = HwpCtrl.GetPos();
var varList = varGetPos.list;
var varPara = varGetPos.para;
var varPos = varGetPos.pos;
if(varGlobalList == varList && varGlobalPara == varPara && varGlobalPos == varPos) {
varGlobalList = "";
varGlobalPara = "";
varGlobalPos = "";
return false;
} else {
if(varGlobalList != varList) {
varGlobalList = varList;
}
if(varGlobalPara != varPara) {
varGlobalPara = varPara;
}
if(varGlobalPos != varPos ) {
varGlobalPos = varPos;
}
var set = HwpCtrl.CreateSet("ListParaPos");
set.SetItem("List", varList);
set.SetItem("Para", varPara);
set.SetItem("Pos" , varPos );
HwpCtrl.MovePos(1, varPara, varPos);
return true;
}
}