var hwp = GetHwpObject();
if (hwp == null)
{
MessageBox.Show("한글 프로그램을 찾을 수 없습니다.");
return;
}
var proc = GetValidHwpProcess();
if (proc == null)
{
MessageBox.Show("한글 프로세스는 찾았지만, 창 핸들을 가져올 수 없습니다.");
return;
}
ActivateHwpWindow(proc);
SendKeys.SendWait("F0854");
SendKeys.SendWait("%+{F10}");
ExecuteHwpCommands(hwp, "MoveSelLeft");
ExecuteHwpCommands(hwp, "Cut");
string ff = Clipboard.GetText();
/*
// 1. 찾으려는 문자를 블록으로 선택
ExecuteHwpCommands(hwp, "MoveSelLeft");
// 2. 블록으로 설정된 텍스트를 변수에 저장
string ff = hwp.GetTextFile("TEXT", "saveblock");
// 3. 블록으로 설정된 내용을 삭제
ExecuteHwpCommands(hwp, "Delete");
*/
//찾기 설정
var pset = hwp.HParameterSet.HFindReplace;
hwp.HAction.GetDefault("FindString", pset.HSet);
pset.FindString = ff;
pset.Direction = hwp.FindDir("Forward");
pset.FindType = 1;
pset.MatchCase = false;
pset.WholeWordOnly = false;
pset.UseWildCards = false;
//찾기
ExecuteHwpCommands(hwp, "FindString");
유니코드 문자가 일반적인 문자가 아니라서
c#에서 처리되지 않아 편법으로
이렇게 버튼 이벤트를 작성했습니다.
한글에서 유니코드 문자를 입력해서 잘라내기까지는 진행이 되는데,
찾기가 안 됩니다.
왜 그런지 고수 분들의 조언 부탁드립니다.