메모찾기가 잘 안되요~~

메모가 적용된 본문의 텍스트를 받아오려고 합니다.
다음과같이 메모 찾기를 함수화 하고 호출을 하였습니다
1.
function 메모찾기()
{
HAction.GetDefault(“Goto”, HParameterSet.HGotoE.HSet);
with (HParameterSet.HGotoE)
{
HSet.SetItem(“DialogResult”, 25);
SetSelectionIndex = 5;
}
HAction.Execute(“Goto”, HParameterSet.HGotoE.HSet);
}

  1. HAction.Run(“RepeatFind”); //다시찾기.

수동으로 조판부호 찾기-메모에서 찾은 후, HAction.Run(“RepeatFind”);로는되는데 자동화가 아니라서요.

아래처럼 순환을 돌려야 하는데, UserDesc에 물론 "메모"는 없습니다;; -.- 따라서 조판부호 찾기로 접근하고 있는데 먹통이예요.

ctrl=HeadCtrl;
while (ctrl){
if (ctrl.UserDesc == “메모”):
{
SetPosBySet(ctrl.GetAnchorPos(0))
n=n+1
}
ctrl = ctrl.Next

}

문서 끝에서 역으로 메모찾기로 list para pos를 구하고 do- while문 돌려도 안되네용.

한줄요약: 문서 끝까지 메모를 순환하는 구문을 알고 싶습니다.

안녕하세요.

HwpCtrlCode를 이용하면 문서내의 메모를 Enumeration 할 수 있습니다.
HwpCtrlCode의 CtrlID가 “%%me” 이면 메모입니다.

  • %%me 값이 나중에 추가되어 낮은 버전에서는 동작하지 않을 수 있습니다. (몇 버전부터인지는 모르겠네요.)
            IDHwpCtrlCode ctrl = hwp.HeadCtrl;

            while (ctrl != null) {
                if (ctrl.CtrlID == "%%me") {
                    Debug.WriteLine("메모입니다.");
                }
                ctrl = ctrl.Next;
            }

감사합니다.

1개의 좋아요

매번 귀중한 답변 감사드립니다. 정말 감사드립니다. ~~