누름틀 안에 데이터가 있는지 확인하는 방법

안녕하세요 웹한글기안기로 프로젝트중입니다.

기안기로 문서를 작성할 때 본문에 내용이 있는지 누름틀안의 값을 가지고와서 다음과 같이 validation 체크를 하고있습니다.
HwpCtrl.GetFieldText({누름틀 필드명})

누름틀 안에 문자열이 있으면 정상적으로 값이 리턴되어서 체크가 가능하나,
문자열이 없이 표나 도형만 있는 문서에서 GetFieldText를 하면 빈값이 리턴되고 있습니다. 표나 도형만 있을때는 어떻게 확인을 해야하는지 여쭤봅니다…

1개의 좋아요

안녕하세요.

validation 에서 어떤 정보가 필요한지가 중요할것 같습니다.

GetFieldText API 는 필드 내부의 텍스트 정보만 추출하기 때문에 표나 개체 내용은 반환하지 않습니다.

MoveToField 후 position 위치를 활용하거나(GetPos API), 선택된 영역의 내용을 얻어서 확인을 하거나 (GetTextFile API)
여러가지 방법으로 확인 가능할듯 합니다.

1개의 좋아요

“DOC_BODY” 라는 필드명의 누름틀을 만들고 이를 "본문 내용"으로 지정하여서 내용이 있는지 없는지 검사하는 로직 입니다.

누름틀안에 문자열,표등을 포함한 어떤 개체가 있는지 확인하고 싶은데… 어떤 방법이 좋을까요…?

단순히 내용이 있는지 여부만 확인한다면 아래와 같이 누름틀로 이동하여 선택된 위치를 파악하면 될것 같습니다.

HwpCtrl.MoveToField("DOC_BODY", true, true, true); // 필드 이동 및 내용 선택
posObj = HwpCtrl.GetSelectedPos();   // 현재 블록으로 선택된 위치 정보 획득

내용이 없을 경우 posObj 값이 null 로 린턴되어 확인이 가능하고,
내용이 있으면 posObj 의 spara, spos, epara, epos 를 활용해 어느정도 내용이 있는지 확인 가능합니다.

1개의 좋아요

정상 동작 합니다.
너무 너무 감사합니다.