ejmhuse2의 등록된 링크

키자드에 등록된 총 183개의 포스트를 확인하실 수 있습니다.

Naver Blog

KeyIndicator 와 한글 내부 스크립트 매크로

어제 이웃게시판에 jd7768님이 어떠한 사정으로 파이썬(Python)에서 KeyIndicator가 사용이 어려워져서,...

Naver Blog

수식 안의 문자를 밖으로 꺼내는 매크로

지난 매크로는 단어를 수식으로 바꾸는 매크로였습니다. 지난 번에 수식 밖에서 수식 안으로 들어갔으니, ...

Naver Blog

문제 수가 많을 때 '빠른 정답 매크로'가 느리다면..

빠른 정답 매크로는 미주 정답에 있는 '답'을 커서(=캐럿)의 위치로 복사해 오는 매크로입...

Naver Blog

빠른 정답 오류 제보와 성능 개선

11월 8일에 수력학원님께서 오류 제보를 댓글로 알려주셨습니다. ( 오류 제보해주신 수력학원님 감사합니다...

Naver Blog

반복문 없이 만든 빠른 정답 매크로

왼쪽부터 첫 번째는 How JavaScript Works Paperback – October 18, 2018 by Douglas Crockford ...

Naver Blog

파이썬으로 컨트롤 개체(머리말, 꼬리말, 미주, 각주, 표, 그림, 수식) 지우기

'조판부호 지우기'에 이어서 바로 파이썬으로 '컨트롤 개체'를 지우는 방법에 대한 설...

Naver Blog

파이썬으로 한글(Hwp) 조판부호 지우기

11월이 되면서 각종 모임이 많아지네요. 오전 모임이 많아지다보니 매크로 코드를 공부할 시간이 줄어듭니...

Naver Blog

유형별(태그)로 원하는 문제 추출 하기

한글(Hwp) 자료를 타이핑하고 모으다보면 자료는 많아지는 데, 실제로 쓸만한 자료는 항상 부족하다고 느...

Naver Blog

예전 버전의 한글(hwp) 부등호 기호와 글씨체 변경

2006년 교육과정 평가원에서 발표한 개편 내용에 기존의 부등호 ' ≦ ' 를 국제 표준으로 사용하...

Naver Blog

문자열(String)을 제어하는 메서드(method)

한글(Hwp) 프로그램은 주로 문서를 다루는 기능을 합니다. 문서는 문자로 되어 있고, 그 문자열을 어떻게 ...

Naver Blog

한글(Hwp) 프로그램만으로 이미지 프로세싱

어제와 오늘 한글(Hwp) 프로그램 만으로 그림(Image)를 처리할 수 없을까 고민하느라 시간을 좀 보냈습니...

Naver Blog

영어 문장에서 단어를 무작위로 섞는 매크로

지난 영어 빈칸 만드는 매크로에서 오늘은 영어 문장에서 블록 지정한 부분의 단어를 무작위로 섞는 매크로...

Naver Blog

모의고사 문제에 미주 만드는 매크로

한글(Hwp) 매크로를 만들면서 블로그에 업로드하는 매크로는 주로 보편적으로 사용 가능한 매크로가 대상...

Naver Blog

문단 번호와 개요 번호 이동 매크로

저는 한글(Hwp) 편집할 때, 주로 미주 번호를 숫자 번호로사용합니다. 하지만 문단번호와 개요 번호를 사용하시는 분들도 많으시죠. 저도 예전에는 문단 번호를 자주 사용했었습니다. 문단 번호는 HwpCtrl API에서 미주처럼 Ctrl ID 가 따로 없다보니 매크로를 만드는 데 부족함이 느껴져서 안 쓰게된 이유가 큽니다. 그러다가 며칠 전에 HwpCtrl API를 천천히 보다가 전에는 보지 못했던, GetHeadString 메서드를 발견(?)했습니다. 내용은 아래 그림과 같습니다. 번호를 문자열(String)으로 추출해준다고? 그렇다면, 문단 번호나 개요 번호 이동 매크로로 만들 수 있겠구나 하고 번뜩 생각이 들었습니다. 그래서 바로 만들어보기 시작했고, 결과.......

Naver Blog

매크로 코드 편집하는 방법 : 교정 작업 다른 버전

앞서 괄호와 따옴표에 대한 검사를 하는 매크로를 업로드 했습니다. 이번 글은 그 글에 이어서 설명하는 글입니다. 매크로를 코드를 만들면서 항상 주의하고 있는 부분은 원본 문서를 최대한 수정하지 않아야 하는 점입니다. 만약 어쩔 수 없이 원본 문서를 수정해야 한다면, 다른 이름으로 저장하기를 통해 역시나 원본 문서의 수정을 안하려고 합니다. 원본 문서가 훼손 될 경우, 치명적인 문제가 생길 수도 있기 때문에 최대한 피하면서 매크로를 만듭니다. 지난 괄호와 따옴표 검사 매크로는 글자 모양을 변경하기 때문에 원본을 수정하게 만드는 매크로입니다. 그래서 이 부분을 어떻게하면 막을까? 하고 고민했어요. 그래서 글자 모양을 변.......

Naver Blog

조건식 매크로 - 첫번째 이야기 : 영어 단어 괄호 만들기

지난 번에 글은 한글(Hwp)프로그램으로 교정 작업을 하는 매크로를 보여드렸습니다. 한글의 강력한 '조건식' 찾기 기능은 그 활용 범위가 넓어요. 그래서 이 '조건식' 찾기를 많은 분들이 알고 쓰면 좋겠다는 생각을 해서 예전에도 '조건식'찾기 관련 글을 업로드 했습니다. 그런데, 이렇게만 알려드려서는 활용이 안 되겠구나 하는 생각을 했습니다. 마치 우리말 한글을 이제 가르쳐 놓고, 단어와 문장의 연습없이 곧바로 한 페이지 글을 써보고라고 한 것과 같다고 할까요. 그래서 조건식 기능만 열거해서 알리는 것보다는 활용 예를 보여 드리면서 이런 곳에 쓰이는 구나 알 수 있도록 설명하려고 합니다. 오늘.......

Naver Blog

영어 단어 무작위 추출 매크로 - 조건식 활용

이번 글은 이 전에 올렸던 자바스크립트의 random 함수로 번호를 무작위 생성하고, 한글(Hwp)의 조건식을 이용해서 미주로 되어 있지 않은 번호가 있는 영어 단어를 추출하는 매크로에 대한 이야기입니다. 아래 그림은 대상이 되는 영어 단어가 있는 샘플 파일입니다.(이 영어단어 파일은 구글에서 '영어 단어 hwp'로 검색해서 공개된 파일을 다운로드 한 파일입니다. 참고한 사이트를 아래 링크했습니다. 파일 공유해주신 분께 감사드립니다.) 그림을 보면, 그냥 번호로 되어 있을 뿐 미주로 된 번호는 아닙니다.(일부러 '조판부호 보이기'를 통해 미주가 아님을 보여드렸어요.) 이렇게 번호가 되어 있는 단어를 무작위로 추.......

Naver Blog

스크립트 코드로만 가능한 매크로-4 ( 형광펜 기능 )

우선, 제목을 짧게 지으려다보니 오해가 생길 수 있어서 이 글 제목의 뜻을 정확히 다시 설명드리자면 한글(Hwp)의 기본 기능인데, 키 매크로 녹화로는 안되고 스크립트 코드를 작성해야만 만들 수 있는 매크로를 말합니다. 한글(Hwp)에서 형광펜 기능을 저는 잘 사용하지 않습니다. 이유는 강조나 표시가 필요하다면, 한글(Hwp)에 '글자모양'에서 음영을 기능을 사용해도 되기 때문입니다. 그리고 '글자모양'은 조건식 찾기로 찾을 수도 있고, '글자 바꾸기'를 통해서 바꿀 수도 있어서 매크로 적용하기도 편합니다. 그에 비에 형광펜은 '조판 부호'에도 나타나지도 않고, '찾아가기'를 통해.......

Naver Blog

특정 한 문제의 각주를 만드는 매크로

이 매크로는 미주로 편집된 문제 번호에서 각주를 새로 만듭니다. 위 그림에서 1번에서 각주를 만들었고, 3번에서 각주를 만들었습니다. 그리고 마지막으로 12번에서 각주를 만들었습니다. 알림) 미주를 각주로 변환하는 매크로가 아닙니다. 한글(Hwp) 자체에 전체 미주를 각주로 변환하거나 전체 각주를 미주로 변환하는 기능이 있습니다. 이 매크로는 특정 미주에 각주를 만드는 매크로입니다. 처음에는 특정 번호의 미주만을 각주로 변환하는 방법을 생각했었는데, 그렇게 했더니 번호가 엉망이 되어서 그냥 각주를 만드는 방식으로 만들었습니다. 매크로 사용시 주의 사항은 반드시 미주 번호가 있는 줄(Line)에서 이 매크로를 실행해야 합니.......

Naver Blog

영어 문장의 단어를 빈칸 테스트로 바꾸는 매크로

한글(Hwp) 프로그램 자체의 기능 중 제가 생각하는 으뜸은 조건식 찾기와 찾아 바꾸기 기능입니다. 대량의 한글 문서 안의 단어를 찾거나 바꿀 수 있기 때문입니다. 하지만 저는 한글(hwp)의 스크립트 매크로를 더 매력적으로 느낍니다. 한글 스크립트 매크로에서 지원하는 언어인 자바스크립트 언어로 인해 그 유연성(flexible)이 굉장히 크기 때문입니다. 제가 블로그를 통해 글을 써야 겠다고 마음 먹은 이유 중에 하나는 이 유연성(flexible) 때문입니다. 한글 자체 기능에 대해서는 이미 시중에 책도 나와 있고, 여러 사이트에서도 많은 정보가 있습니다. 하지만 한글 스크립트 매크로와 관련해서 자바스크립트를 활용한 예가 많지 않다보니.......

Naver Blog

객관식 정답을 형광펜으로 표시하는 매크로

오늘 소개해드릴 매크로는 객관식 문제에서 정답을 형광펜으로 표시해 주는 매크로입니다. 이 전에 글을 쓸 때, 저는 형광펜 기능을 잘 사용하지 않는다고 했고 그냥 글자 모양 바꾸기해서 음영을 만들면 된다고 했습니다. 그런데 형광펜 기능을 제가 잘 사용하지 않아서 몰랐을 뿐, 다른 사이트에 검색하면서 형광펜 기능에 대해 글을 읽다보니 정답 표시용으로 형광펜 기능만의 장점이 있다는 것을 뒤늦게 깨달았습니다. 섣부른 판단으로 선입견이 생기지 않도록 노력한다고 했는데도 잘 알아보지도 않고 경솔하게 글을 썼습니다. ㅜㅜ 사람은 역시 계속 배워야 하는 것을 또 다시 깨닫습니다. 그래서 속죄의 마음으로 형광펜 기능을 사용한 매.......

Naver Blog

객관식을 주관식으로 변경 매크로 Version Up

오늘은 예전에 이미 공유해 드렸던 객관식을 주관식으로 변경하는 매크로를 조금 더 개선한 매크로를 설명드리려고 합니다. 이전에 객관식 보기가 2줄로 되어 있을 때, 5줄로 변경하는 매크로를 설명드린 적이 있어요. 그 매크로를 연구하면서 객관식 보기의 끝지점으로 어떻게 캐럿(커서)를 이동시킬까 고민하다가 단순하면서도 꽤 괜찮은 아이디어를 얻었고, 동시에 그렇다면 객관식을 주관식으로 변경하는 매크로에도 적용 가능하겠구나를 바로 생각했었습니다. 지금 공개하는 매크로는 이미 그 때 다 만들었습니다. 언제 이 내용을 블로그에 올릴까 하다가 그날이 오늘이 된 겁니다. 그럼 먼저 잘 이해가 안 되실 수도 있으니 어떤 상황인지.......

Naver Blog

미주 번호(정답)만 변경 매크로 - 첫번째 이야기 : 글자 모양 변경

네이버 블로그는 검색 유입 경로를 파악 할 수 있도록 통계 분석을 해 줍니다. 검색 유입 경로를 저는 자주 봅니다. 이유는 한글 매크로 관련해서 어떤 검색으로 유입 했는 지 보면, 무엇이 필요하구나를 파악할 수 있어서요. 며칠 전에 '미주 정답만 글자 크기 변경하는 방법'이라고 검색 해서 방문하셨던 분이 계시더라구요. 그래서 미주 정답 글자 크기만 크게 혹은 작게 변경하고 싶었구나 하고 알게 되었고, 저도 평상시에 느끼던 거였지만, 굳이 매크로까지 사용할 정도의 양이 아니어서 그냥 하나씩 변경하고 있었습니다. 그런데, 미주로 된 문제 수가 많으면 필요할 수도 있겠다 싶어서 만들었어요. 아래 코드를 봐주세요. 코.......

Naver Blog

미주 번호(정답)만 변경 매크로 - 두번째 이야기 : 수식 변경

이번 글은 지난 번에 예고한대로 글자 모양과 함께 미주 번호에 있는 즉, 정답에 있는 수식 크기만을 변경해 보는 매크로 글입니다.(본문에 있는 수식은 그대로 있는 상태로요.) 코드 설명 전에 먼저 실행 그림을 보여 드릴께요. 그림을 보시면, 정답에 있는 글자와 수식만 크기 1로 변경되었고, 본문에 있는 글자나 수식은 그대로 입니다. 정답에 있는 글자와 수식 크기를 21로 변경해 볼께요. 그리고 마지막으로 보통 많이 사용하는 글자와 수식 크기 모두 11로 변경해보겠습니다. 매크로가 잘 실행되죠?^^ 매크로 사용법과 코드에 대한 설명을 드릴께요. 지난 번에 만들었던 글자 모양 바꾸는 매크로에 수식 변경 코드도 포함시켜 작성했습니.......

Naver Blog

키 녹화 매크로와 스크립트 매크로 속도 차이

키 녹화 매크로는 한글(hwp)프로그램 자체에서 '매크로 정의'하기를 통해 자동적으로 생성되는 키 입력에 대한 매크로를 말합니다. 스크립트 매크로는 매크로 코드 편집 창에서 스크립트(Script : 소프트웨어를 실행할 수 있는, 프로그램 언어 이외의 간단한 언어로 작성한 명령어) 를 작성하는 매크로를 말합니다. 일반적으로 키 매크로보다 스크립트 매크로가 다양한 명령을 내릴 수 있고(한글 내장 매크로 언어로 자바스크립트(JavaScript) 언어를 지원합니다.) 매크로를 작성하는 방법에 따라 속도를 더 향상 시킬 수 있습니다.( 초보자에게는 키 녹화 매크로가 편합니다. 그리고 매크로 공부할 때도 자동 생성된 코드가 도움이 됩.......

Naver Blog

객관식 보기 번호를 5줄로 정렬하는 매크로

이번 글은 그림으로 시작했습니다. 말로 설명하면 잘 이해가 안되실 듯 해서요. 위 그림을 보시면 객관식 문제 보기 번호가 2줄로 되어 있는 문제를 1번부터 5번까지 5줄로 만든 매크로입니다. 그림을 자세히 보시면 2번 문제는 이미 5줄로 되어 있지만 매크로를 실행해도 그대로 있습니다. 1줄이나 2줄로 된 객관식 보기 번호만을 5줄로 바꾸는 매크로에요. 그리고 또 하나는 기존의 1줄이나 2줄로 되어 있었다면 5줄로 바꿀 때 줄 수가 늘어나서 그 아래에 있는 문제들이 밀려납니다. 그 것을 방지하기 위해 늘어난 줄 수만큼 줄 수를 줄이도록 해서 전체적으로 문제 배치가 달라지지 않습니다. 물론 한글은 편집 방식이 다양해서 수식이 포함.......

Naver Blog

문제가 단을 걸쳐 있을 때 정리하는 매크로

한글 2010, 한글 2014, 한글neo, 한글 2018, 한글 2020 버전이 업그레이드 되면서 혹은 업데이트의 문제로 분명히 한글 문서를 제대로 각 단별로 정리를 해놨는데 아래 그림처럼 문제가 단에 걸쳐서 있는 경우가 있습니다. 몇 개 안되면 그냥 하나씩 정리하면 되고 제일 앞에 문제만 엔터를 입력해서 다음 문제가 다 저절로 정리되면 좋은 데, 그렇지 못한 상황에서 양 또한 많으면 시간이 꽤 걸리게 됩니다. 기존에 문항배치 매크로는 내가 편집해 놓은 문제를 모두 재정리를 하기 때문에, 이 상황에 사용하기에는 적절치 않은 듯해서 문제가 단에 걸쳐져 있는지 확인하고 그렇다고 하면 단 나누기를 통해 문제 배치를 정리하는 매크로를 만들었.......

Naver Blog

알고리즘 이란 무엇?

알고리즘은 게으름이 예술로 표현된 것이다. 정말 재미있는 표현이다. 나는 정말 게으른 사람이 맞는 것 같다. 어떻게 하면 한글(hwp) 작업을 최소한의 시간에 적은 노력으로 끝낼 수 있을까를 매일 생각하고 있다. 아이러니한 것은 작업을 간단하게 하기 위해 매크로를 만드는 것인데, 매크로를 만들면서 더 많은 시간이 걸린다는 사실이다!!! 물론, 만들어 놓으면 필요한 순간에 적절히 잘 사용하기 때문에 알고리즘을 생각하는 시간이 아깝지는 않다. 정말 단순하게 아무런 일도 하지 않는 게으름은 더 많은 비용을 초래한다. 문제를 일으키지 않고 거의 대부분의 시간을 게을리 지내기 위해 알고리즘이 필요하다. < 알고리즘이 뭐야? >.......

Naver Blog

미주 번호(정답)만 변경 매크로 - 세 번째 이야기 : 글자와 수식 크기

같은 내용으로 세 번째까지 글을 씁니다. 세 번째까지 글을 쓰는 이유는 나름의 이유가 있어서에요. 같은 기능을 하는 매크로라도 그 코드 내용은 충분히 다를 수 있습니다. 코드를 짜는 데 정답은 없지만 조금 더 빠르고 코드가 간결할 수 있다면 시도해 봄 직합니다. 이번 글은 앞에 코드를 더 간결하고 속도가 더 빠르게 변경한 코드를 소개합니다. 아래 그림을 봐 주세요. 글자와 수식 크기를 동시에 변경할 수 있는 매크로입니다. 처음에는 글자와 수식 크기를 1로 변경했다가 다시 21 마지막에 11로 변경해 본 것입니다. 본문의 글자와 수식은 그대로 있습니다. 앞에 만들었던 글자 변경과 수식 크기 변경과는 차이점이 있습니다. 코드로 설.......

Naver Blog

키 매크로가 스크립트 매크로보다 더 좋은 때 : 교정 작업

앞서 스크립트 매크로가 키 매크로(녹화 매크로)보다 속도가 더 빠를 수 있음을 보여 드렸습니다. 그렇다고 스크립트 매크로가 키 매크로 보다 항상 더 좋은 것은 아닙니다. 한글(Hwp)프로그램 자체가 가지고 있는 훌륭한 기능(?)을 사용해야 할 때는 키 매크로가 더 좋습니다. 제가 좋아하는 한글(Hwp)의 기능은 찾아가기, 찾기, 찾아바꾸기 기능입니다. 그리고 그 기능 안에서도 '조건식'으로 찾기는 그 활용도가 좋아서 매우 좋아합니다. (프로그램 언어에서는 보통 '정규표현식'이라고 합니다. 검색할 조건을 세밀하게 할 수 있는 기능입니다.) 이 기능을 잘 알고 있고, 사용해야 할 때를 알고 있으면 스크립트 매크로를.......

Naver Blog

현재 그림 크기 기준으로 크기 변경 매크로

지난 번에 그림 크기를 변경하는 매크로를 수정해서 업로드 했습니다. 그런데, 그림 크기 변경 매크로는 크기 변경 기준이 원래 그림의 크기(한글 파일에서 변경한 크기가 아닌 그림 자체의 원래 orginal 크기)를 기준으로 변경하는 매크로였습니다. 그냥 현재 그림 크기에서 내가 원하는 대로 일괄 변경할 수는 없을까요? 한글 편집을 할 때, 이미 내가 원하는 대로 그림 크기를 맞춰놨을텐데, 현재 그림 크기에서 조금만 전체 그림을 작게 한다던지, 아니면 조금 크게 하는 매크로가 더 필요하지 않을까 싶어 만들었습니다. 아래 실행 예를 봐주세요. 위에서 매크로를 실행할 때, 변수 ratio 에 숫자를 변경하면서 현재 그림 기준으로 크기를 변.......

Naver Blog

파이썬 GUI 탭(Tab) 생성 해보기

파이썬 Tkinter를 이용해서 만든 GUI(Graphical User Interface, 사용자가 편리하게 사용할 수 있도록 입출력 등의 기능을 알기 쉬운 아이콘 따위의 그래픽으로 나타낸 것)를 조금씩 수정 보완해 보고 있습니다. 오늘은 기존에 만들어 왔던, 프로그램들을 하나의 GUI에 Tab을 생성해서 만들어 봤어요. 여러 개 프로그램을 하나씩 실행하기 보다는 탭으로 만들어서 내가 실행하고 싶은 것을 선택하는 형태가 더 편리할 듯 해서 만들었습니다. 아래 그림을 봐 주세요. 기존에 만들었던 3개의 프로그램을 3개의 탭으로 만들어 본 것입니다. 이미 만들었던 프로그램이나 앞으로 만들 프로그램을 탭이나 메뉴(메뉴는 아직 안만들었지만, 어렵지 않습니.......

Naver Blog

파이썬 GUI 멀티 쓰레딩 적용

요새는 계속 파이썬 Tkinter 수정하는 재미로 시간을 보내고 있습니다^^ 지난 글에서 언급한대로, 오늘은 멀티 쓰레딩에 대해 설명하도록 할께요. 우선, 지난 번 문제 상황 그림을 다시 한 번 더 보면 위 그림에서 실행 버튼을 누르고 나면, 일시적으로 GUI가 멈추는 현상이 생깁니다. 이 부분을 해결하려면, 멀티쓰레딩을 적용해야 합니다. 파이썬에서 Thread를 import 해주고 나서 실행 버튼 함수에 위 코드를 추가해줬어요. hwptopdf 는 hwp를 PDF로 변환하는 함수입니다. 위 코드를 각 버튼 함수에 추가해 주고 나서 실행해 본 그림이 아래입니다. 위 그림을 보면, 각 탭의 실행 버튼을 누르고 나서도 GUI 멈춤 현상이 일어나지 않는 것을 볼.......

Naver Blog

파이썬 Hwp 프로세스 강제 종료 & GUI 버튼 비활성화

오늘도 Python Tkinter GUI에서 생기는 문제점을 하나씩 수정해보려고 합니다. 제가 수정하고 있는 GUI 프로그램은 Hwp를 OLE(Object Linking and Embedding : 파이썬으로 아래한글 제어) 하는 기능을 하기 때문에 GUI가 Hwp실행 도중 종료하게 되면 Hwp는 좀비 프로세스(종료되지 않고 메모리 자원을 불필요하게 소비하는 프로세스:윈도우에서는 실질적으로 좀비 프로세스가 없지만, 백그라운드에서 실행되는 프로세스를 지칭하도록 할께요.)가 되어 버립니다. 더 큰 문제는 단순히 메모리 낭비만 하는 것이 아니라 좀비 프로세스가 된 Hwp 문서는 컴퓨터를 종료하기 전까지 계속 실행되기 때문에 해당 Hwp를 문서를 다시 읽었을 때 락(Lock : H.......

Naver Blog

파이썬 GUI 백그라운드 Hwp만 종료시키기

오늘은 GUI 프로그램으로 제어했던 Hwp 문서만 종료하는 방법에 대한 이야기입니다. 지난 글에서 만들었던 코드는 GUI의 '닫기' 버튼을 누르면, Hwp 프로그램도 모두 종료시키도록 만들었습니다. 아래 그림을 봐 주세요. 처음에는 실행되는 앱에 Hwp 문서가 있다가 GUI 프로그램으로 실행을 하면 백그라운드 프로세스에도 Hwp 문서가 나타납니다. 그리고 '닫기' 버튼을 누르면 백그라운드 Hwp 뿐만 아니라 실행되는 앱에 있는 Hwp도 모두 종료됩니다. 백그라운드 실행되는 Hwp가 종료되는 것은 좋은 데, GUI가 제어하지 않았던 먼저 실행되는 Hwp 마저 종료시켜버리면, 내가 따로 작업하던 Hwp 문서가 날아가버릴 수도 있죠.......

Naver Blog

문제 사이 간격을 일정하게 만드는 매크로

문항 배치 매크로가 성공적으로 실행되려면, 문제 사이의 간격이 일정해야 합니다. 문제 추출 매크로를 사용하고 난 후에는 문제 사이 간격이 일정하기 때문에 괜찮은 데, 내가 임의로 문제를 복사해서 붙여 넣었거나 문항의 간격을 편집했을 때는 '문항 배치 매크로'를 사용하면 제대로 작동하지 않습니다. 아래 그림은 '문항 배치 매크로'가 제대로 적용 되지 않는, 문제 사이 간격이 일정하지 않을 때입니다. 위 그림과 같이 한글 문서가 편집 되어 있을 때, '문항 배치 매크로'를 실행해 볼께요. 그러면, 이 문제 상황을 어떻게 해결할까요? 저는 문제 사이 간격을 일정하게 되도록 만드는 매크로를 새로 만들.......

Naver Blog

오답노트 매크로 공개 및 코드 해석 - 4(마지막)

이제 마지막 함수를 설명드리고, '오답노트 매크로' 코드 설명을 마무리 하겠습니다. 마지막 함수는 function findNearbyCtrlAtRootList( ctrlID ) 입니다. 이 함수는 끝에 괄호 안에 ( ctrlID) 라는 매개 변수를 포함하고 있는 함수입니다. 매개변수를 포함하는 함수는 그 개념부터 우선 어느 정도 알고 계셔야 이 코드가 이해되실거에요. 위에 제가 이전에 올렸던 매개 변수가 있는 함수에 대한 글이 있으니 한 번 참고해보시기 바랍니다. function findNearbyCtrlAtRootList( ctrlID ) 함수를 보고, 역시 무지 놀랐습니다. 이 함수는 CtrlID 를 매개변수로 하기 때문에 CtrlID를 괄호 안에 넣기만 하면 현재 커서 기준으로 컨트롤의.......

Naver Blog

여러 탭문서에서 오답 문제 추출하는 매크로

요새 매일 매일 날씨가 점점 더 더워지는 느낌이네요~^^;;; 방학동안 바쁜 와중에도 매크로 알고리즘 만드는 것과 프로그램 언어(C언어, C#, 자바, 자바스크립트 등 그냥 흥미나는 대로 막 읽고 있어요.) 공부하는 재미는 끊을 수가 없네요~ 일하는 시간은 길게 느껴지는 데, 매크로 하는 동안은 시간이 순삭입니다!!! 여러 탭문서에서 원하는 문제를 추출해서 오답노트 매크로를 만드는 방법은 이미 어떻게할 지 생각은 하고 있었다가 어제 아침에 일어나서 만들어봐야 겠다고 하고 만들었더니, 금방 만들어졌습니다^^ (진작에 만들어도 되는 건데, 조금 더 완벽하게 만들려고 생각을 많이 하다보니 늦어졌네요~) 그래서 오답 문제를 여러 문서.......

Naver Blog

미주로 된 문제 자동 배치 매크로 공개

문항 자동 배치와 관련한 매크로를 계속 연구 중에 있습니다. 한글(hwp) 프로그램은 문서 작성의 자유도가 높아서 편집 상태가 다양하다보니, 문항 자동 배치 매크로를 만들어도 예외 상황이 많이 발생합니다. 그래서, 문항 자동 배치 매크로는 최대한 단순한 형태로 만들려고 노력을 했습니다. 그리고 문항 자동 배치 매크로는 오답문제 추출 매크로를 사용해서 문제를 추출했을 때의 상태를 기준으로 만들었습니다. 먼저, 아래 그림을 봐주세요. 위 그림에서 문제 배치 상태를 보면, 문제 사이의 간격도 일정하지 않고, 단 사이에 문제가 걸쳐 있기도 합니다. 위 문제 샘플 파일을 먼저 오답노트 매크로를 이용해서 문제를 추출해보면 아래 그.......

Naver Blog

오답 문제 추출 프로그램+문제 자동 배치 기능까지

파이썬으로 만든 오답 문제 추출 프로그램에 얼마 전에 완성한 문제 자동 배치 매크로 기능까지 넣어서 실행해 보았습니다. 한글(hwp)프로그램에서 매크로로 실행해도 되지만, 더 편한 것을 추구하는 것이 매크로의 목적이다보니 파이썬을 활용해서 버튼 한번에 모든 기능을 수행하고자하는 욕심(?)을 내봤습니다~!! 그래서 기존에 오답문제 추출 프로그램에 문제 자동 배치 기능까지 포함해서 수정하고 실행해 봤습니다. 위 그림을 보시면, 프로그램 실행 버튼 한 번에 오답 문제가 추출되고 문제가 자동 배열까지 잘 된 것을 확인할 수 있습니다. 한글(hwp) 프로그램은 편집의 다양성이 있어서, 언제든 예외 상황이 발생할 수 있습니다. 그래서.......

Naver Blog

로또 번호 자동 생성하는 매크로(난수 매크로)

오늘은 조금 자극적인 제목을 달아 봤습니다~ 프로그램 언어는 대부분 난수(무작위적인 번호, Random)기능을 제공하고 있습니다. 한글(hwp) 매크로 스크립트 또한 자바스크립트(JavaScript) 언어를 지원하고 있어서 자바스크립트(JS)의 난수 기능을 이용하면 로또 번호를 계속 자동 생성할 수 있지요^^ 로또 번호는 1번부터 45번까지 총 6개 숫자를 입력하도록 되어 있잖아요. 아래 그림을 봐주세요. 복권집에서 로또 번호 자동 생성하는 원리도 동일한 방법일 듯 합니다. 오늘 글을 올린 이유는 로또 번호 생성기를 알리기 위함이 아니라 난수 생성을 이용해서 문제를 무작위적으로 뽑기 위함입니다.(로또 번호 생성은 흥미 일으키기 위한 하나.......

Naver Blog

그림 크기 변경 매크로의 예외 대응 개선

그림 크기 변경 매크로의 예외 상황에 대해 설명만 드리고, 매크로를 수정해서 설명한다고 하고 시간 꽤 오래 걸렸네요.^^;; 사실 왜 그런지 원인도 알고 있었고 개선할 방법도 알고 있었는데, 생각보다 잘 쓰이지 않을 매크로라고 생각되서 계속 미뤄두고 있었어요. 그래도 대응 개선을 하겠다고 글을 써 놓은 게 있어서 올려야지 하면서 오늘에서야 글을 올리네요. 지난 번에 문제점은 2가지 였어요. 그래서 코드를 조금 수정해서 실행해 봤습니다. 아래 그림은 수정해서 실행한 예입니다. 위 그림을 보면 머릿말과 꼬릿말에 그림과 타원(그리기 개체)가 있는 상황이면서 본문에도 그림 개체가 아닌 그리기 개체(타원)가 포함되어 있는 것을 확.......

Naver Blog

Doitcoding님의 매크로 코드에 대한 의견입니다.

우선 첫 번째, % 기호를 하나만 사용하면 나중에 본문 중에 %가 포함되었을 때, 개수가 잘못 세어질 수 있으니, %% 로 정하시는 게 좋을 듯 합니다. 단원명 앞에 %%를 찾으면 되니, 단원명 뒤에 %는 입력 안하는 게 작업 시간을 줄일 수 있지 않을까 합니다. 그리고 두 번째는 문자열 개수를 찾는 일인데, 자바스크립트의 match 함수를 사용하면 좋을 듯 합니다. 아래 그림은 문자열을 세서 입력하도록 했는데, 변수에 저장해서 수정하시면 될 듯 해요. 첨부파일로 샘플 테스트 hwp 파일을 수정해본 것과 msr 파일을 첨부했습니다. 매크로의 성공을 기원합니다~~ 화이팅!!!

Naver Blog

오답노트 매크로 공개 및 코드 해석 - 1

지난 '오답노트 매크로' 코드 공개에 이어서 오늘은 '오답노트 매크로' 코드에 대한 해석을 하도록 할께요. '오답노트 매크로'는 자바스크립트(JavaScript, 약칭 JS) 프로그램 언어로 작성되어 있기 때문에 기본적으로 자바스크립트(JS) 기본 문법을 알고 계셔야 합니다. 자바스크립트 기본 문법이 아직 익숙하지 않으신 분들은 '포털' 검색이나 '유튜브' 혹은 '도서'를 통해 함께 참고하면서 읽으시면 좋을 듯 합니다. 그리고 최소한 알아야 하는 자바스크립트 언어 문법을 제 게시판에도 업로드한 글이 있으니 아래 링크를 참고하셔도 좋을 듯 합니다. 아래 코드는 '오답 노.......

Naver Blog

오답노트 매크로 공개 및 코드 해석 - 2

지난 첫 부분의 코드 해석에 이어서 설명드릴께요. '오답노트 매크로'는 총 3부분으로 나뉜다고 말씀드렸습니다. 각 세 부분은 함수로 되어 있습니다. 이 중에서 3번 함수가 매개변수를 포함한 함수여서 이해하기가 가장 어려울 듯 합니다. 아래 코드는 '오답노트 매크로 공개 및 코드 해석 -1' 에서 설명드린 부분 다음 코드입니다. 그럼 제일 위 코드의 제일 첫줄부터 설명드릴께요. curCtrl 변수에 3번째 함수인 findNearbyCtrlRootList에 매개변수인 CtrlID인 secd 를 prev(앞으로 탐색) 하라는 뜻입니다. 여기서 컨트롤 ID(Ctrl ID)에 대해 아셔야 하는 데요. 아래 표를 봐 주세요. 아래표는 한글과 컴퓨터에서 제공하.......

Naver Blog

단원별 문제 추출 방법

단원별 문제 추출 프로그램을 이용해서 단원별로 문제를 추출하는 방법을 설명드릴께요. 아래 그림을 봐주세요. 단원별로 추출하는 방법은 텍스트 입력창에 아래 처럼 입력하시면 됩니다. 그런데 만약에 2개 이상의 단원을 뽑고 싶을 때는 위에 처럼 단원명을 넣으시면 됩니다.

Naver Blog

오답노트 매크로 공개 및 코드 해석 - 3

오늘은 두 번째 selectNearbyProblem()의 코드 설명을 드리도록 하겠습니다. 우선, 첫 번째 부분의 코드를 다시 생각해 보셔야 합니다. 알고리즘이 매우 긴밀히 연결되어 있기 때문에, 이 함수 단독으로만 생각하면 잘 이해하기가 어렵습니다. 첫 번째 오답노트매크로() 함수에서 새 탭문서에서 사용자가 입력한 번호를 읽어들이고 나서, SetPosBySet 명령으로 해당 번호로 이동했습니다. 이 코드는 for 문 안에 들어 있기 때문에 변수 i 가 증가하면서 반복되고 있는 것이죠. 그리고 if 조건문 안에 selectNearbyProblem() 함수가 들어있죠. 문제가 존재하면 해당 문제를 복사하는 것이고, 없다면 종료하도록 해놨었죠. 즉, selectNearbyProblem.......

Naver Blog

난이도별 문제 추출 방법

한글 파일에 작업한 난이도별로 별표 작업을 해놓았고( 1개부터 3개의 난이도), 만약 특정 단원과 함께 별표의 개수를 1개에서 3개까지 뽑고 싶을 때, 찾는 방법을 지금부터 설명드릴께요. 지난 번에 단원명으로 추출하는 방법을 이미 설명드렸고, 여기서 별표() 난이도까지 포함해서 추출하는 방법입니다. 제가 예시로 위와 같은 검색 방법으로 텍스트 창에 입력해서 실행해 볼 건데요. 자세히 설명을 드리면 한글 찾기의 조건식인데, *. 은 모든 것의 의미이고, \b는 빈칸을 의미합니다. 즉, 한글 파일에 보면 단원명 직선의 방정식 뒤에 빈칸 하나를 띄우고 별표() 작업을 해놓았잖아요. 그것을 조건식으로 표현해 놓은 것입니다. 그.......

Naver Blog

컨트롤(Ctrl API) 10번째 이야기- GetAnchorPos

사실 오늘 '오답노트 매크로' 마지막 함수에 대해 설명 글을 올리고 있다가 그냥 설명을 드리면, 이해가 안되실 분들이 많이 계실 듯 해서 이해를 돕기 위한 컨트롤 개체에 대한 설명을 먼저 드리려고 이 글을 먼저 씁니다. 별로 친숙하지 않은 Hwp CtrlCode Method 중에 GetAnchorPos 메서드에 대한 설명입니다. 우선 GetAnchoPos 메서드가 어디에 어떻게 사용되는 지를 설명드릴께요. 이름에 Get 은 '얻는다'라는 뜻으로 사용됩니다. 그러니까. 뒤에 붙은 Anchor(닻) Pos(Position의 줄임말)를 얻는 다는 건데요. Anchor는 프로그램 언어에서 보통 메모리 주소 혹은 linked ist 에서 서로 연결된 주소 정도를 anchor로 사.......

Naver Blog

매크로 사용법 영상

이 영상은 매크로가 생소한 분들을 위해 매크로 저장 파일인 msr 파일을 불러와서 실행해보는 안내 영상입니다. 동영상은 오답노트 매크로 파일을 블로그에서 다운 받아 한글 프로그램에서 매크로 파일을 불러오고, 오답노트 매크로를 실행해본 예시 영상입니다. 영상 속에서 실행한 매크로 파일은 아래 바로가기를 통해서 msr 파일을 다운 받아 실행하시면 됩니다. 바로 가기 ------------> B4 테스트 양식지, A4 테스트 양식지 바로 가기 ------------> 미주문번반복문완성v3 바로 가기 ------------> 미주높이맞춤반복문

Naver Blog

WScript.Shell 개체-첫번째 이야기 AppActivate

위 글은 얼마 전에 '거위의 꿈'님이 댓글로 남기신 글입니다. 외부에서 접근할 때(저는 파이썬으로 한글에 주로 접근합니다.) 한글 문서가 새로 열리면서 한글 문서를 제어하는 데, 이미 열려진 문서는 제어가 안되는 것인지 질문을 해주셨습니다. 당시에는 열려있는 다른 한글 문서를 활성화 해 본 일이 없었고, 필요성을 못 느끼다가 '거위의 꿈'님 댓글을 보고 나서 이게 가능한 지 알았봤습니다.(엄밀히 따지면, 오늘 설명드리는 부분은 외부 프로그램에서 제어하는 방법이 아니고, 윈도우 OS 자체 기능으로 활성화를 제어하는 방법입니다.) 오늘 설명드릴 WSH(Windows Scripting Host)는 윈도우 운영체제에서 제공하는.......

Naver Blog

파이썬으로 WScript.Shell 개체 메서드 사용법

한글스크립트 창에서 WScript.Shell 개체 메서드 사용법은 '매크로 활용' 게시판에 설명되어 있습니다. 이번 글은 파이썬에서 WScript.Shell 개체를 이용해서 한글에 명령을 내리는 방법입니다. 아래 코드 먼저 봐주세요. 위 코드 명령은 한글 새 문서가 먼저 실행이 되고 나서 이미 열려 있는 006.hwp 문서의 윈도우를 활성화하고 단축키 Ctrl + Enter를 입력해서 강제 줄 나눔 명령을 내리고, 매크로 단축키 Alt + 1을 입력해서 매크로 1번을 실행하도록 합니다. 아래 그림은 코드 명령을 실행해 본 것입니다. 위 그림을 보시면, 한글 새 문서가 열리고 나서, 006.hwp 파일 안에서 빠른 정답 매크로(1번 매크로)가 실행되는 것을 확.......

Naver Blog

WScript.Shell 개체-두번째 이야기 SendKeys

WScript.Shell 개체 첫번째 이야기 AppActivate 에 이어서 두 번째는 SendKeys 입니다. WScript.Shell 에 대한 글은 마이크로소프트 매뉴얼을 참고했습니다. 아래 링크 걸어 둘께요. 링크된 사이트에 키를 입력하는 목록이 나와 있는 데, 그것을 아래 표로 다시 정리했습니다. To specify keys combined with any combination of the SHIFT, CTRL, and ALT keys, precede the key code with one or more of the following codes. To specify that any combination of SHIFT, CTRL, and ALT should be held down while several other keys are pressed, enclose the code for those keys in parentheses. For example, to specify to hold down SH.......

Naver Blog

WScript.Shell 개체-세번째 이야기 Run 메서드

WScript.Shell 개체 세번째 이야기는 윈도우 응용 프로그램을 실행시키는 Run Method 입니다. Run 메서드는 윈도우의 다른 응용 프로그램들을 실행할 수 있습니다. 그러면, 한글 매크로를 활용하기 위해 다른 한글을 실행시키켜서 매크로를 실행시키면 어떨까하고 생각을 해봤습니다. 그러면, 더 다양한 작업을 할 수도 있을 듯 해서요.(파이썬(Python)을 사용하면 훨씬 편하고 더 간단합니다. 다만, 한글 프로그램 단독으로 가능한 지 알아보는 데 의미를 둔 것이에요.) 그래서 아래 코드를 매크로 스크립트 창에 입력해서 실행해 봤습니다. 위 코드처럼 실행을 하면, 문제 상황이 벌어집니다. 우선 첫 번째로 매크로 실행 창에서 명령을 내리면.......

Naver Blog

원하는 미주로 이동 매크로 공개

이 매크로는 이미 완성 형태이고, 오류도 거의 없어서 공개하려고 생각을 하고는 있었습니다. 그런데, 특정 코드 부분이 제가 만든 것이 아니라 다른 분의 코드를 참고해서 만든 부분이 있어서, 공개를 해야 하나 하고 고민을 하던 중이었습니다. 그럼, 지금부터 원하는 미주 혹은 미주 번호로 이동 매크로에 대해 설명하도록 하겠습니다. 먼저 코드부터 공개합니다. 위 코드 중에서 참고한 부분은 prompt(inputbox)를 띄우는 아래 코드 입니다. 위 코드 부분을 만드실 때 고민하며 고생하셨을텐데, 만드신 코드를 공개해주신 '별이 빛나는 밤에'님께 감사드립니다. 이 매크로의 장점은 문제를 미주로 만들었을 때, 1번부터 시작하는 경.......

Naver Blog

오답노트 매크로 공개 및 코드 해석 - 프롤로그

오늘부터 오답노트 매크로(미주 번호로 문제를 만든 문제에서 원하는 번호의 문제를 복사해서 새 탭으로 추출 복사하는 매크로)에 대한 설명을 세 번에 나눠서 글을 업로드하려고 합니다. 개인적으로는 이 글을 쓰는, 이 순간을 큰 영광으로 생각합니다. 제 블로그에서 제가 만든 매크로가 아니라 다른 분이 만든 매크로를 처음 소개합니다. '오답노트 매크로'는 작년 3월에 코로나로 시간이 많이 나게 되면서 한글 매크로를 연구를 시작하게 되었을 때, 유튜브에서 '한글 매크로'를 검색해서 찾은 매크로입니다. 그 때의 충격은 이루 말할 수가 없었습니다. 한글 매크로에 대해 거의 아는 게 없었고 '오답노트 매크로.......

Naver Blog

한글 2010 Object Model - XHwpTab 을 이용한 한글 문서 PDF 저장

지난 번에 XHwpTab을 활용해서 한글 문서를 통합하는 매크로를 설명드렸습니다. 이번에는 한글 파일을 통합해봤으니, 오늘은 여러 한글 문서를 일괄적으로 PDF로 저장하는 매크로에 대해 설명 드릴께요. 먼저, 소스 코드 부터 공개합니다. 코드에 일일이 주석을 달아서 해석해 놓았으니, 보시면 될 듯 합니다. 그래도 이해가 안되는 부분이 있으시다면, 댓글이나 쪽지로 물어보셔도 되요~ 위 코드에서 중요한 부분은 재귀함수입니다. PDF 저장을 재귀함수를 통해 계속 실행하도록 만들었습니다. 사실, 재귀함수는 모두 반복문으로 변경할 수 있습니다. 처음에는 반복문(정확히는 for문)으로 만들었더니 콜 스택(Call Stack) 오버 플로우(OverFlow.......

Naver Blog

한글 2010 Object Model - XHwpTab 을 이용한 한글 문서 인쇄(Print)

지난 XHwpTab을 활용해서 여러 한글 문서를 일괄적으로 PDF로 변환하는 매크로에 이어서 여러 한글 문서를 '공급 용지에 맞추어' 일괄 인쇄 매크로를 설명드리겠습니다. 더 자세한 내용은 아래 링크를 확인해 주세요. 아래 소스 코드는 앞서 XHwpTab 매크로 구조에서 함수 명령을 인쇄로만 바꾼 것입니다. 위 코드는 한글 탭문서의 전체 페이지를 '공급용지에 맞추어' 인쇄하는 매크로 입니다. 아래 코드는 한글 탭문서에서 각 한글 문서의 마지막 미주로 이동해서 마지막 미주가 존재하는 페이지까지(현재까지 인쇄 옵션) '공급용지 맞추어' 인쇄하는 매크로 입니다. (이 매크로는 미주가 존재하고 문제가 미주로.......

Naver Blog

콜백함수(callback function)

콜백함수는 함수의 한 종류입니다. 이해가 조금 어려울 수도 있지만, 한글 매크로를 사용할 때는 사용할 일이 많지 않지만 한글 API 문서 안에 콜백 함수가 있어서 이해하는 데 도움이 되지 않을까해서 콜백함수에 대한 설명을 하기로 했습니다. 1. 콜백(callback) 함수란? 콜백함수는 주로 함수 내부의 처리 결과값을 함수 외부로 내보낼 때 사용합니다. 일종의 return문과 비슷한 기능을 한다고 할 수 있습니다. <참고문헌 : 김춘경 지음 | 위키북스 | 2015년 10월 16일 출간 > 2. 콜백(callback) 함수의 문법 3. 콜백함수의 예시 코드 위 코드는 함수를 3가지로 나누어서 만들어본 예시입니다. 처음 함수는 아래 두 함수(콜백함수와 메.......

Naver Blog

객관식 문제를 주관식으로 변환하는 매크로

객관식 문제를 주관식으로 변환하는 매크로는 이미 업로드 한 적이 있는데, 코드 설명을 하지 않았고, 서로 이웃분들께만 공개한 매크로입니다. 이 매크로를 이웃분들께 공개를 하지 않았던 이유는 알고리즘을 비효율적으로 그냥 단순하게 만들어서 좀 창피한 감이 있어서 였습니다. 그런데, 이 매크로가 상당한 노가다를 줄일 수 있어서 알고리즘이 좀 맘에 안 들어도 많은 분들께 공유하면, 잘 쓰일 듯 해서 이웃 공개로 전환하고자 글을 씁니다. 이 매크로는 객관식 문제를 주관식으로 바꾸는 매크로입니다. 테스트지를 만들고 풀려보면, 객관식이면 잘 풀던 학생들이 주관식으로 바뀌면 못 푸는 경향이 많음을 보고, 처음 수업을 하고 객관식.......

Naver Blog

한글 매크로 오류 유형 - 스크립트 이름

한글 매크로 오류에 대해 문의 주시는 분들이 계셔서 이번 참에 정리해 볼까합니다. 위 사항들은 기본적으로 진행해 주셔야 합니다. 이번 글은 한글 매크로에서 나타나는 오류 유형 중에서 '매크로 이름'과 관련한 부분을 설명 드리려고 합니다. 아래 그림을 봐 주세요. 빨간 네모 박스는 '매크로 실행'창에 매크로 이름이고, 빨간 밑줄은 스크립트 코드 편집창에 매크로 이름입니다. !!! 2개의 이름은 반드시 같아야 합니다. !!! 가장 많이 하는 실수가 빨간 밑줄에 '스크립트 코드 편집' 창 안에서 임의적으로 이름을 바꾸는 경우입니다. 그렇게 이름을 변경해서 2개의 이름이 달라지면, 바로 아래 처럼 오류 창.......

Naver Blog

조판부호 지우기 - 매크로 자동 생성 코드 분석

한글(hwp) 프로그램은 한글 개체를 만들면 조판 부호가 함께 생성됩니다. 조판부호는 매크로 코드를 작성할 때, 굉장히 유용한 부분입니다. 그림, 표, 수식, 미주, 미주번호 뿐만 아니라 문단번호, 개요번호, 바탕글, 머리말, 꼬리말, 책갈피 등등 주요 기능은 조판 부호가 생성되기 때문에 그 부분을 수정할 때 조판부호 보이기를 통해서 개체 지정만 잘 해주면, 코드로 수정이 수월합니다. 한글(hwp) 에서 단축키 Ctrl + G, C 를 누르면 '조판 부호 보이기'가 되면서 개체 주변에 빨간색으로 이름이 나옵니다. 아래 그림을 봐주세요. 위 그림은 조판부호 보이기와 조판부호 숨기기를 실행해 보고, 그리고 조판부호 중에 '머리말.......

Naver Blog

한글 2010 Object Model - XHwpTab 을 이용한 한글 문서 통합 매크로

지난 글에 이어서 바로 한글 문서 통합 매크로 소스 코드 부터 설명드릴께요. 매크로의 코드 구조는 단순합니다. 간단하죠? 주석으로 설명도 되어 있으니, 충분히 잘 이해하실거라 생각합니다. 다음으로 이 매크로의 사용법에 대해 설명을 드릴께요. 우선, 한글(hwp)에서 문서 불러오기를 할 때, 환경설정을 통해서 새 창으로 열기를 새 탭으로 열기로 바꿔놓으면 편합니다.(일일이 탭문서 생성하고 불러오는 것은 귀찮은 일이니까요.) 위 그림처럼 탭문서로 불러오기 설정을 하고 한글 문서를 불러오면, 순서대로 이쁘게 탭문서가 생성됩니다. 주의사항은 탭문서로 불러오기 설정이 되었다 하더라도, 폴더에서 여러 한글파일을 셀렉트해서 &#x27.......

Naver Blog

한글 업데이트

한글 매크로를 사용하려면 꼭 최신 업데이트를 해야 합니다. 한글은 'ㅎ'자로 시작하기 때문에 ...

Naver Blog

자바 스크립트의 기본

대부분의 프로그램 언어가 기본 구조가 다 비슷 비슷합니다. 이번 자바스크립트를 잘 정리하시면 활용 분야...

Naver Blog

단축키, 새 탭 만들기

새 탭을 생성하는 단축키는 Ctrl + Alt + T 입니다. 스크립트 명령어는 HAction.Run("FileNew...

Naver Blog

한글과 컴퓨터 개발자 매뉴얼

네이버 나 구글에서 "한글과 컴퓨터"를 검색하시면 제일 위에 한글과 컴퓨터 홈페이지가 나와요....

Naver Blog

단축키, 개체선택

개체 선택 단축키는 F11 입니다. F11의 코드 명령어는 HAction.Run("SelectCtrlReverse"...

Naver Blog

1. 변수

1) 변수의 정의 2) 변수 만들기 3) 변수 만들 때 주의 사항 4) 변수에 저장할 수 있는 데이터 종류 1) 변수...

Naver Blog

코드로 커서를 이동하는 방법(1)-MovePos

MovePos(1) - HwpCtrl 문서 내용 MovePos : 캐럿의 위치를 옮긴다. (한글에서 커서를 원하는 곳으로 ...

Naver Blog

코드로 커서를 이동하는 방법(2) - Para, Pos

MovePos(2) - moveID, Para, Pos 1) moveID 어디로 이동할 지 정하는 숫자를 말합니다. 아래 표에 ...

Naver Blog

매크로 꾸러미 저장하기, 불러오기

내 매크로 실행 리스트에 있는 모든 매크로를 "꾸러미"에 저장을 하면, 다음에 다시 불어와서 지...

Naver Blog

코드로 커서 위치 확인하는 방법-GetPosBySet

GetPosBySet - List, Para, Pos 매크로를 만들면서 확실히 알아야 하는 부분은 문서 내의 위치입니...

Naver Blog

코드로 커서 이동해 본 영상

GetPosBySet 과 MovePos 한글에서 실제로 List, Para, Pos가 어떻게 사용되는 지 영상을 확인해 ...

Naver Blog

2. 주석 달기

주석은 작성한 코드에 설명을 달아놓기 위해 사용하며, 실행되지 않는 소스를 말합니다. 주석은 1. 한줄 주...

Naver Blog

3. 연산자

연산자의 종류는 1. 기본 사칙 연산자 : +, - ,*, /, % 2. 복합 연산자 : +=, -=, /=, %...

Naver Blog

단축키, 강제 쪽 나눔 & 단 나누기

<강제 쪽 나눔> 강제 쪽 나눔 단축키는 Ctrl + Enter / Ctrl + J 입니다. 코드 명령어는 HActi...

Naver Blog

단축키, 문단 나누기 와 강제 줄 나눔

<문단 나누기> & <강제 줄 나눔> 비교 문단 나누기는 Enter 를 누르면 되고, 코드 명령어...

Naver Blog

한글 매크로(실제 활용되는 매크로) msr

한글 매크로 msr은 매크로 저장 파일의 확장자 명입니다. 한글 매크로에서 프로그램 언어인 자바스크립트는...

Naver Blog

특정 글자를 찾아 문제 추출

텍스트로 라벨링된 특정 문제만을 추출해서 통합하는 매크로 사용법입니다. 상 난이도에 해당하는 문제만 ...

Naver Blog

그림을 인식해서 문제 추출

텍스트 추출에 이어서 이미지를 인식하여 추출하는 매크로입니다. 문제마다 그림으로 된 이미지를 인식해서...

Naver Blog

4. if 조건문

< if 조건문의 정의 > if 조건문은 특정 조건에 맞는 경우에만 특정 구문을 실행하고 싶을 때 사용하...

Naver Blog

4-1. if 조건문 사용시 주의사항

if 조건문을 사용하다보면, 주의사항을 지키지 않아서 코드가 제대로 실행이 되지 않을 수 있습니다. 저도 ...

Naver Blog

5. for 반복문(횟수가 정해진 경우)

< for 반복문 이란? > for 반복문은 반복 횟수가 정해진 경우에 사용하는 반복문입니다. 횟수를 정하...

Naver Blog

6. while 반복문(횟수가 정해지지 않은 경우)

< while 반복문 이란? > 무한 반복을 처리하는 경우에 while을 사용합니다. 특정 구문을 무한 반복 ...

Naver Blog

6-1. do~while 반복문

< while 문과 do ~ while문의 차이점 > while 문은 시작 부분에서 반복 여부를 판단하지만, do/while...

Naver Blog

6-2. while문에서 continue문과 break문

< continue 문 정의 > continue 문은 반복 실행 중 특정 조건에서 실행구문을 실행하지 않고, 다음 ...

Naver Blog

찾아가기, 다시 찾기, 거꾸로 찾기

매크로를 만들 때, 처음에 가장 중요한 부분이 내가 원하는 것(미주, 표, 그림, 등등의 컨트롤)을 찾는 일 ...

Naver Blog

7. 함수(function)

< 함수의 정의 > 특정 기능을 하는 구문(알고리즘)을 독립된 부품처럼 만들어서 재사용하고 만드는 ...

Naver Blog

8. 클래스(Class)-String, Array

< 클래스(Class)의 정의 > 클래스는 함수의 묶음이라고 보면 됩니다. 함수들로 묶어서 함수처럼 코...

Naver Blog

찾아바꾸기(Ctrl + H)

찾아바꾸기는 이름 그대로 원하는 검색 대상을 한번에 혹은 순차적으로 내가 원하는 단어나 문장, 기호로 ...

Naver Blog

단축키, 쉬운 책갈피

쉬운 책갈피 단축키는 쉬운 책갈피 바로 넣기(위치 기억) Ctrl + K, 1, 2, …, 9, 0 기억된 책갈피 위치...

Naver Blog

원하는 미주 번호로 이동

1. 미주가 1번부터 시작할 때 미주 이동 2. 미주가 1번부터 시작 하지 않을 때 미주 이동 미주의 시작번호,...

Naver Blog

객관식을 주관식으로 변경

객관식 문제를 주관식으로 변경하고 싶을 때, 객관식의 보기는 없애고, 보기에 있던 정답은 미주번호로 복...

Naver Blog

코드로 블록 설정 위치 확인 - GetSelectPosBySet

한글 매크로를 만들 때 블록의 위치를 정확히 확인해야 할 때가 있습니다. 그럴때, GetSelectPosBySet...

Naver Blog

문자열 개수를 세는 매크로

한글 자체에 '찾기', '찾아바꾸기' 기능은 유용하게 쓰일 때가 많습니다. 그런데, 매...

Naver Blog

원하는 미주 번호로 이동(통합 버전)

시작 번호가 1부터 시작하는 경우와 1이 아닌 경우 모두 적용 가능한 매크로를 새로 만들었습니다. 바로가...

Naver Blog

한글 2018에서 로만체 버그(?) 대응 매크로

한글 2018 수식 창에 들어가면 보통 글씨체가 이탤릭체로 입력이 되는데, 일부분을 로만체로 바꾸기 위해 &...

Naver Blog

코드로 블록 읽기(GetTextFile, saveblock)

GetTextFile 정의 GetTextFile은 블록저장된 한글 문서내의 '서식정보가 없는' TEXT ...

1 2