기글 하드웨어 질문 게시판
각종 질문을 올릴 수 있는 곳입니다. 먼저 검색해 보고 질문을 올리는 것이 더 효율적입니다. 충분한 정보와 예의를 갖춰 글을 작성해 주시고 문제가 해결되면 꼭 댓글을 달아 주세요.
안녕하세요.
복수의 한글문서에서 50개정도의 한자를 국문한자에서 일문한자로 수정하는 작업중입니다.
대상문서가 엑셀이면 참 편할텐데 하필이면 HWP네요.
지금 작업은
문서 1번을 한글에서 열고
한자 1번을 '모두 찾아 바꾸기'로 바꾸고
한자 2번을 '모두 찾아 바꾸기'로 바꾸고
한자 3번을 '모두 찾아 바꾸기'로 바꾸고
.
.
.
한자 50번을 '모두 찾아 바꾸기'로 바꾸고
다시 문서2를 한글에서 열고
한자 1번을 '모두 찾아 바꾸기'로 바꾸고
한자 2번을 '모두 찾아 바꾸기'로 바꾸고
한자 3번을 '모두 찾아 바꾸기'로 바꾸고
.
.
.
한자 50번을 '모두 찾아 바꾸기'로 바꾸고
다시 문서3을 한글에서 열고
.
.
.
라는 매우 비효율 적인 방식으로 진행중입니다.
위의 방법을 VBA를 활용해서 좀 더 간단하게 진행 할 수 없을까요?
엑셀파일이라면 할 줄 알겠는데 외부파일인 한글HWP에서 엑셀VBA로 '단어 찾아 바꾸기'가 가능한가요?;
아님 VBA가 아니더라도 좀더 효율적인 방법이 있다면 추천 부탁드립니다.
2016.05.25 03:12:17
HWP 2007 에도 매크로 기능이 있고 스크립트로도 편집이 가능하네요
도구-매크로-스크립트매크로 정의 하셔서
편집-바꾸기-문서전체선택-일본한자입력-국문한자입력-모두바꾸기클릭
을 차례대로 하시고 중지해서 다시 스크립트 매크로 실행으로 들어가시면 코드편집이 있습니다
function OnScriptMacro_스크립트이름()
{
HAction.Execute("AllReplace", HParameterSet.HFindReplace.HSet);
HAction.GetDefault("AllReplace", HParameterSet.HFindReplace.HSet);
with (HParameterSet.HFindReplace)
{
MatchCase = 0;
AllWordForms = 0;
SeveralWords = 0;
UseWildCards = 0;
WholeWordOnly = 0;
AutoSpell = 1;
Direction = FindDir("AllDoc");
IgnoreFindString = 0;
IgnoreReplaceString = 0;
FindString = "일문한자";
ReplaceString = "국문한자";
ReplaceMode = 1;
IgnoreMessage = 1;
HanjaFromHangul = 0;
FindJaso = 0;
FindRegExp = 0;
FindStyle = "";
ReplaceStyle = "";
FindType = 1;
}
HAction.Execute("AllReplace", HParameterSet.HFindReplace.HSet);
}
이렇게 들어가 있을건데.. 바꿀 한자만 다르게 넣어서 50여개 만드신 다음
한번만 돌리면 문서 하나에 한번만 매크로 수행하시면 되지 않을까 싶네요
물론 해보지는 않았습니다 -.-..
도구-매크로-스크립트매크로 정의 하셔서
편집-바꾸기-문서전체선택-일본한자입력-국문한자입력-모두바꾸기클릭
을 차례대로 하시고 중지해서 다시 스크립트 매크로 실행으로 들어가시면 코드편집이 있습니다
function OnScriptMacro_스크립트이름()
{
HAction.Execute("AllReplace", HParameterSet.HFindReplace.HSet);
HAction.GetDefault("AllReplace", HParameterSet.HFindReplace.HSet);
with (HParameterSet.HFindReplace)
{
MatchCase = 0;
AllWordForms = 0;
SeveralWords = 0;
UseWildCards = 0;
WholeWordOnly = 0;
AutoSpell = 1;
Direction = FindDir("AllDoc");
IgnoreFindString = 0;
IgnoreReplaceString = 0;
FindString = "일문한자";
ReplaceString = "국문한자";
ReplaceMode = 1;
IgnoreMessage = 1;
HanjaFromHangul = 0;
FindJaso = 0;
FindRegExp = 0;
FindStyle = "";
ReplaceStyle = "";
FindType = 1;
}
HAction.Execute("AllReplace", HParameterSet.HFindReplace.HSet);
}
이렇게 들어가 있을건데.. 바꿀 한자만 다르게 넣어서 50여개 만드신 다음
한번만 돌리면 문서 하나에 한번만 매크로 수행하시면 되지 않을까 싶네요
물론 해보지는 않았습니다 -.-..
작성된지 2주일이 지난 글에는 새 코멘트를 달 수 없습니다.
이거 참조해 보시죠. 저도 그냥 검색만 해본거고 직접 하진 않았지만..
hwp 파일을 txt로 바꿔서 처리하면 되지 않을까 싶네요. 어차피 일본 사람이 hwp 보진 않을테고.