코드로 읽은 내용을 다시 입력하기(SetTextFile, InsertFile)
SetTextFile 정의 SetTextFile은 GetTextFile로 읽은 내용을 다시 한글 내에 붙여넣기 하는 기능...
키자드에 등록된 총 183개의 포스트를 확인하실 수 있습니다.
SetTextFile 정의 SetTextFile은 GetTextFile로 읽은 내용을 다시 한글 내에 붙여넣기 하는 기능...
미주로 문제 번호를 만들었을 때, 미주의 글씨 크기나 모양을 바꾸려면 일일이 블록 지정해서 바꿔야 합니...
지난 번에 글씨 크기를 바꾸는 방법에 이어서 글씨체를 바꾸는 방법에 대해 설명할께요. 글씨 크기는 매크...
한글 문서는 강제 쪽 나눔 기능이 있어서 페이제를 넘어갈 때, Ctrl + Enter 를 누르면 다음 페이지로 강...
문제를 추출할 때, 미리 라벨링 해 놓은 단원 이름과 난이도(의 개수로 표시해 놓은)를 검색하는 방법입...
Hwp 파일 통합 프로그램은 기본적으로 Hwp 편집 양식이 동일해야만 제대로 작동을 합니다. 아래 그림을 ...
자바스크립트의 초급, 중급은 전적으로 제 임의대로 나눈 기준입니다. 자바스크립트의 초급은 매크로 코드...
한글 스크립트 매크로에서 메세지 박스에 대한 글을 올리려고 합니다. < 1. 메세지 박스의 종류(① Hwp...
< 1-1. Hwp Object의 메세지박스를 코드로 작성하는 방법 > 지난 글에 메세지 박스에 대한 HwpOb...
한글 문서에 문항 번호가 1번부터 시작하지 않는 경우가 있습니다. 그리고, 문항 번호가 문단 번호 넣기로 ...
한글(HWP)는 강제 쪽 나눔과 단 나누기를 통해 일일이 엔터를 쳐서 문단을 만들지 않더라도, 다음 쪽, ...
이번에는 한글(Hwp) 안에서 매크로가 실행 될 때, 메세지 박스가 뜨면서 매크로 실행이 중단되는 현상을 ...
< 3. 메세지 박스 개체(② WScipt.Shell Object의 Popup Method) > WScript.Shell Object...
앞서 WScript.Shell 개체의 팝업 메서드에서 팝업창의 종류에 대해 정리해서 글을 올렸습니다. 이번에는...
앞서 업로드한 글의 Shell Popup 에 사용된 조건문 코드를 간략히 설명할께요. if 조건문을 사용해서 단...
앞서 Popup창을 WScript.Shell Object를 활용해서 만드는 방법을 설명드렸습니다. WScript.Shell ...
< TKinter 이란? > 파이썬은 기본 라이브러리로 TKinter를 제공합니다.(파이썬을 설치하면 함께 ...
4개의 프로그램의 기능을 개선했습니다. < 기능 개선 사항 > 은 1. 모든 프로그램의 창의 크기를 조...
시간이 날 때마다 만들었던 프로그램에 드래그 앤 드롭(Drag & Drop, 이하 DnD)를 Tkinter 리스트...
Drag & Drop는 고난도 기술이기 때문에 직접 코딩하기에는 제 능력이 안됩니다. 하지만 대부분 자주 ...
한글 매크로와 파이썬의 알고리즘을 만들다보면, 어느 순간에 시간이 가는 지도 모르게 몰입되어 있는 나를...
한글(hwp) 안에서 커서를 이동하는 단축키가 존재합니다. 그 중에서 단축키로 이동할 수 없고, 코드 명령어...
컨트롤 개체(HwpCtrl Object)는 표, 그림, 미주 등등을 말합니다. '한글과 컴퓨터'에서 제공...
지난 컨트롤 개체 이야기 첫번째는 컨트롤 개체 개수 세기(count)였습니다. 오늘은 두 번째 이야기 : 컨트...
파이썬(python)으로 한글(hwp)을 불러오는 방법을 설명하겠습니다. 먼저, 아래 그림은 파이썬으로 한글을 ...
오늘은 문서 내의 표나 그림을 모두 '글자 취급'으로 변경하는 매크로입니다. 이미 앞에서 컨트...
오늘 다루는 내용은 조금 복잡합니다. 지난 3번째 이야기에 이어서 오늘은 '문서 내의 모든 표의 크기...
어렸을 때, 워드프로세서 1급 자격증 시험을 본 적이 있습니다. 필기는 한 번에 합격했는데, 실기는 1번 떨...
한글(hwp) 자체에서는 어려운 작업이지만, 파이썬과 함께 하면 가장 좋은 기능이 바로 이미지 처리(Image ...
하이퍼링크(HyperLink) 코드를 공개합니다. 주의사항) 자신이 원하는 하이퍼링크 매크로를 만들려면 코드...
오늘은 지난 5번째 이야기에 이어서 6번째 주제 '문서 내의 모든 그림의 크기를 일괄적으로 내가 원하...
한글 2018에서는 이전 버전에서는 없는 수식에서 로만체 관련 버그가 있습니다. 지난 글에서도 설명을 했지...
한글(hwp) 매크로에서 코드 명령으로 가능한 매크로 번호는 1번 ~ 11번 입니다. 이 프로그램은 매크로를 실...
블로그 댓글, 쪽지, 메일 어떤 형태로 문의 주셔도 의뢰 받지 않습니다. 공개 댓글로 글을 올리시면, 바로 ...
앞서 '컨트롤 6번째 이야기 - 그림 크기 변경'에 대해 글을 올렸고, msr 파일을 이웃 공개 했습...
지난 글에서 빠른 정답 매크로를 이웃 공개 해 드렸습니다. 빠른 정답 매크로를 조금 더 잘 활용하기 위해 ...
8번째 컨트롤 이야기는 한글 문서 안의 전체 수식의 볼드(진하게)를 적용 혹은 해제 하는 매크로입니다. 매...
컨트롤 9번째 이야기입니다. 컨트롤 관련 글이 계속 되죠? 한글(hwp)은 컨트롤 개체(표,그림,미주,수식 등...
9번째 이야기까지 이어지는 컨트롤 개체(표, 그림, 수식, 미주 등등)에 대해 글을 업로드하면서, 어떻게 한...
한글(hwp) 매크로를 시작하게 된 결정적인 계기가 '문항을 자동 배치하는 매크로'입니다. 한글 ...
며칠 전에 회사원 코딩님의(회사원 코딩님의 홈페이지 링크를 참고했습니다.) 도움으로 파이썬으로 한글을 불러올 때, 까만 화면이 생기지 않고 바로 한글을 불러오는 방법을 알았고, 이 부분을 다시 설명드리려고 합니다. 우선 아래 소스 코드부터 봐 주세요. 위 코드를 보면, 코드가 한결 간결해졌어요. 이전에 import win32con 부분을 없애고, 이 부분이 들어오면서, 한글(hwp) 창이 바로 뜨는 것을 확인했습니다. 아래는 실행해 본 그림입니다. 군더더기없이 hwnd 까지 정확하게 잡히는 것을 확인했습니다. 위에 True를 False로 변경하면 한글(hwp)창이 백그라운드로 변경됩니다. 명령 코드가 잘 작동하는 지 확인하려면, 위 코드를 실행해서.......
이번 글의 주제는 한글과 컴퓨터에서 제공하는 'HwpAutomation.hwp' 파일에 포함된 한글 2010 Object Model에서 XhwpTab 에 관한 공통 주제로 매크에 대한 글을 쓰고자 합니다. 이 블로그를 시작하면서, 한글 2010 Object Model 안에 메서드(함수), 프로퍼티(변수)에 대해 다루고자 하는 생각은 계속 갖고 있었습니다. 하지만 미뤄두었다가 얼마 전에 '회사원 코딩님'의 댓글이 기회가 되어서, 이젠 조금 자세히 블로그에서 설명하고자 합니다. 이번 글의 주요 주제는 'XHwpTab' 입니다. 결론부터 말씀드리면, 한글(hwp) 프로그램에서 현재 실행되고 있는 탭문서의 개수를 파악할 수 있는 Window Object 입니다.(O.......
남은 미주 개수 세기 매크로의 문제점을 최정적으로 수정했습니다. ( 제가 만든 알고리즘은 하나의 예시 일뿐, 더 간결하고 효율적인 다른 방법이 얼마든지 있을 수 있습니다. ) 지난 글에서 마지막 미주 뒤에 커서가 있을 때, 0개가 아니라 전체 미주 개수가 나오는 문제점을 확인 했습니다. 왜? 마지막 미주 뒤에서는 전체 미주 개수가 나올까요? 그 이유는 '찾아가기' 명령 코드가 더 이상 미주가 없으면, 문서 제일 처음으로 커서를 옮기면서 남은 미주 개수가 전체 미주 개수가 되는 것입니다. 어떻게 해결하면 될까요? 가장 간단하게는 문서 처음을 돌아가지 못하도록 하는 방법과 마지막 미주 위치를 확인해서 현 위치와 비교하.......
이번 글은 한 문항을 정확하게 블록 지정하는 매크로입니다. 미주가 문항 번호로 되어 있는 상황에서 한 문항을 블록 지정할 때, 시작은 미주 찾아가기로 쉽게 시작점을 찾을 수 있지만, 문제의 마지막 지점을 찾는 것이 가장 어려운 일입니다. 가장 쉽게 문제 마지막 지점을 찾는 방법을 생각하자면, 한글의 조건식을 이용하는 방법입니다. 엔터가 두 번 들어가는 지점을 찾는 것입니다. 조건식으로는 "^n^n" 입니다. 소스 코드부터 공개할께요. 코드에 주석을 달아 설명을 해놓았으니, 어렵지 않게 이해 하실 수 있을 거라 생각됩니다~ 아래 실행을 해 본 그림입니다. 위 그림은 커서 위치를 기준으로 아래 방향의 미주를 찾고, 그 미.......
한 문항 블록 지정하기 매크로 예외 상황 처리에 대한 글을 계속 이어서 설명할께요. 지난 글에서 2가지 문제점이 있는 것을 확인했습니다. 1. 한 문항 안에 엔터가 두 번 입력되어 있는 경우 2. 문항의 끝에서 바로 단 나누기를 실행해서 다음 문항까지 블록이 지정되는 경우 우선, 가볍게 첫번째는 ^n^n 을 ^n^n^n으로 바꿔서 찾으면 되지 않을까합니다. 한 문제 안에 엔터가 세 번 입력되는 경우가 있다면, 예를 들어서 1문제 안에 딸린 문제들이 있다면, 이 방법을 사용하면 안됩니다. ( 이 것을 해결하는 방법은 다음 글에서 다시 다루겠습니다.) 그리고 2번의 문제는 한문제 다음 문단에 바로 다음 문제가 이어져 있거나 단 나누기가 되어.......
지난 글에서 이어서 한 문항 블록 지정하기 매크로에 대한 설명을 드릴께요~ 총 20번까지 미주가 문제 번호로 되어 있다고 할 때, 마지막 미주 쪽에서 문제점이 발생합니다. 1. 19번과 20번 사이에서 매크로를 실행하면, 다음 미주가 20번 이므로 거기로 이동하고, 그 다음 미주를 찾으면, 더 이상 미주가 없기 때문에, 처음 미주로 돌아갑니다. 2. 20번 미주 뒤에서 매크로를 실행하면, 바로 처음 미주로 돌아갑니다. 위의 2가지 문제에 대한 제가 생각한 대응 방안을 설명 드릴께요. 아래 소스 코드를 봐 주세요. 코드가 좀 많이 길어졌죠?~~^^;;; 그래도 쪼개서 하나 하나 보면, 생각보다 간단한 코드입니다. 이 부분이 전체 코드 앞에 새로 입.......
파이썬으로 한글(hwp)을 제어하는 방법에 대한 글을 쓰고, 1개월만에 글을 쓰네요. 게시판 만들어 놓고, 너무 오랜만에 파이썬에 대한 글을 쓰게 되어서 죄송합니다~^^;; 한글 매크로 알고리즘에 주로 신경을 쓰고 있다보니, 파이썬에 대한 글을 쓰는 데 조금 시간이 걸립니다. 한글 매크로 알고리즘에 대해 딱히 더 다루고 싶은 주제가 없다 싶으면, 그 때부터는 파이썬에 집중해서 글을 쓸까 생각하고는 있습니다. 파이썬으로 한글을 제어하는 방법은 그렇게 어렵지 않습니다. 하지만, 파이썬으로 한글을 제어하더라도 결국 한글로 만든 매크로 알고리즘을 파이썬으로 변경하는 것이기 때문에 기본은 한글(hwp) 매크로입니다. 오늘은 이미 한글.......
지난 '한 문항 블록 지정하기-3' 글에서 문제점을 다시 한 번 확인해 볼께요. 아래는 지난 글에서 예외 상황 그림입니다. 한 미주(문제) 안에 딸린 문제 (1), (2) 이렇게 있고, 사이에 여러 문단(세 번 이상의 엔터)이 있는 경우에 매크로를 실행하면 문제 전체를 블록하지 못하고 ^n^n^n을 끝으로 인식해서 그곳을 문제 끝으로 인식합니다. 위 문제를 해결하기 위해서는 ^n^n^n 으로는 해결이 불가능합니다.(제 생각에 그렇다는 겁니다.) 그럼, 이 상황을 어떻게 해야 딸린 문제의 끝을 인식하도록 할 수 있을 까요? 먼저, 소스 코드 부터 공개합니다. 지난 한 문항 블록 지정-3 매크로의 주요 구조는 거의 동일한데, 여기서 문항의 끝.......
문항 배치 매크로를 만들 때 가장 어려운 부분은 문항의 길이를 정확하게 측정하는 일입니다. 단순하게 '그냥 문제의 문단 수(Para)를 세면 되는 될 것이 아닌가' 하고 생각할 수도 있지만, 그렇지 않습니다. 문항 배치 매크로는 우선 2단으로 편집을 기준으로 만들 예정입니다. 해결해야 하는 문제 상황은 아래와 같습니다. 위의 3가지 문제 상황을 해결할 수 있는 방법을 생각으로는 가지고 있긴 하지만, 실제로 매크로를 만들었을 때, 어떻게 될 지는 아직 만들어 본 것이 아니어서 잘 모릅니다. < 매크로 코드 작성 계획 > 위 3가지 문제점을 다 해결할 수 있으면, 문항 배치 매크로는 각 문제가 차지하는 문단수를 파악하고.......
오늘은 표, 그림과 같은 컨트롤 개체가 문제 중간 부분에 있을 때, 표와 그림의 세로 길이를 측정해서 차지하고 있는 줄 수를 파악하는 방법에 대해 설명드릴까 합니다. 한글(hwp) 프로그램에서 아쉬운 부분이 있습니다. 한글 문서 안을 보면 세로 눈금자가 있는데, 그 눈금자를 읽는 API(Application Programming Interface)가 제공되지 않는 점입니다. 한글과 컴퓨터에서 제공하는 API 문서의 함수를 꼼꼼히 잘 봤는데, 없는 듯 하더라구요. 아래 그림을 한 번 봐 주세요. 위 그림을 보시면, 커서가 이동하면 커서가 존재하는 문단의 위와 아래를 세로 눈금자가 정확하게 꺽쇠로 표시해 줍니다. 커서의 위치를 눈금자로 파악할 수 있고, 한 문.......
'문항 배치 매크로'를 위한 첫 번째 여정에서 그 첫번째는 남은 미주 개수 세기 입니다. 남은 미주 개수를 세는 것도 디테일의 악마가 꽤 있어요. 우선은 가장 간단하게 생각할 수 있는 코드를 작성해보고, 문제점을 알아볼께요. 정말 간단하게 1차적으로 생각할 수 있는 매크로입니다. 1. 미주 번호로 이동하기 2. 카운트 변수 c=0 을 저장하고 3. while 반복문에서 다음 미주 번호로 이동 명령하면서 카운트 변수 c를 증가 4. 최종적으로 변수 c 에 담긴 숫자를 메세지 창으로 알리기 현재 커서가 본문(List == 0)에 있고, 커서 뒤쪽에 남아 있는 미주를 세는 매크로입니다. 코드가 간단한 만큼 당연히 문제점이 있습.......
지난 '남은 밎 개수 세기-1'글에서 문제점에 대한 오류 수정을 시작합니다. 2가지 문제점이 있었죠~ 1. 마지막 미주 다음에서 매크로를 실행하면, 0개가 아니라 총 미주 개수가 된다는 점 2. 매크로를 실행하고 나면, 커서가 제일 마지막 미주 번호로 가 있다는 점 2번 문제점을 먼저 해결해 볼께요.(해결이라는 표현이 좀 불편할 수 있는데, 여러 가지 방법 중에 한 가지일 수 있습니다. 알고리즘의 자유도가 높은 만큼 충분히 감안해 주세요.) 아래 코드를 봐주세요. 지난 매크로에 없던, GetPosBySet() 이라고 하는 HwpCtrl 이 새로 들어가 있습니다. 간단히 설명 드리면, 커서의 위치 정보를 가져오는 한글(hwp) 컨트롤(Ctrl) 기능.......
단축키는 한글에서 사용자가 편하게 작업할 수 있는 정말 유용한 기능입니다. 각 단축키는 한글에 명령을 ...
블록 설정 단축키는 F3 입니다. 스크립트 명령어는 HAction.Run("Select"); 입니다. F3을 ...
매크로 코드 편집 창에서 보이는 적용과 실행 버턴에 대해 설명하겠습니다. <매크로 적용> 매크로 적...
한글 매크로 보안 설정을 "낮음"이나 "보통"으로 변경해야 합니다. 한글을 실행하고 ...
한글은 키 매크로와 스크립트 매크로로 나눌 수 있습니다. 키 매크로는 반복하고 싶은 작업을 키보드로 눌...
<매크로를 파일로 저장하기> 단축키 Shift + Alt + L 을 누르면 매크로 실행 창이 뜹니다. 빨간색...
7번째 주제는 컨트롤 개체 중에서 '미주 번호'의 내용을 읽어서 빠른 정답을 만드는 매크로 입니...
앞서 한글 매크로 게시판에 오답노트 생성 매크로를 업로드 했습니다. 오답노트 생성 매크로는 한 개의 한...
B4 문서로 작성된 한글(Hwp)를 한꺼번에 인쇄하는 프로그램에 대한 사용법을 설명할께요. 먼저, 이 프로...
한글(HWP) 프로그램 자체에서 제공하는 매크로 기능은 매우 훌륭합니다. 자체 매크로 만으로도 많은 반...
지난 번 팩토리얼에 이어서 피보나치 수열에 대해 설명드릴께요. 피보나치 수열은 0, 1, 1, 2, 3, 5, 8, 13...
재귀함수(Recursive function)의 가장 대표적인 예로 팩토리얼(factorial)이 있습니다. 팩토리얼은 예를 ...
오랜만에 자바스크립트(JavaScript)에 대해 글을 업로드 하네요. 오늘은 사실 그 동안 미루고 미뤄왔던, ...
찾기( 단축키 : Ctrl + F ) 창을 열고 '선택 사항'에서 '조건식 사용'을 체크해 놓...
수식 입력창 실행 단축키는 Ctrl + N, M 입니다. 수식이나 표, 그림 등등 컨트롤 개체는 HAction Tab...
한글(Hwp) 자체 기능 중에 하이퍼링크(HyperLink) 기능이 있습니다. 문서 안에 특정 단어나 그림을 클릭...
< 상호참조란? > 한글 프로그램의 상호참조는 다른 페이지의 참조 대상들(표, 그림, 수식, 각주, 미...