var act = HwpCtrl.CreateAction("ExecReplace");
var set = act.CreateSet();
set.SetItem("Direction", 2); // 찾기 방향 - 0: 정방향, 1:역방향, 2: 전체문서
set.SetItem("FindString", "입력"); // 찾을 단어
set.SetItem("ReplaceString", "출력"); // 바꿀 단어
set.SetItem("ReplaceMode", 1); // 바꾸기 모드
set.SetItem("IgnoreMessage", 1); // 오류메세지 무시
act.Execute(set);
안녕하세요.
웹기안기에서 특정 단어를 찾아 바꾸기를 실행하려고 합니다.
위 코드를 실행하면 단어가 블록처리만 되고 바뀌지는 않는데 어떻게 처리해야 하는지 문의드립니다.
참고로, ExecReplace 액션은 처음 실행시 "찾기"만 수행합니다.
(해당 단어가 선택된 상태가 돼요.)
다른 동작 없이 ExecReplace를 한 번 더 실행하시면
선택된 단어를 바꾸면서, 다음 단어를 찾아 선택합니다.
단어를 찾아냈으면 True를,
더 이상 바꿀 단어가 없으면 False를 리턴하므로
반복문 안에 넣어서 다른 작업과 병행할 때 유용합니다.
ExecReplace가 더 유용한 경우
예를 들면, 아래처럼 바뀐 단어들의 위치(get_pos)를
별도로 리스트로 모아두고 싶다든지
(어느 부분이 바뀌었는지 확인하는 용도 등?)