본문 바로가기

한/글71

스크립트매크로를 파이썬 함수로 고쳐주는 함수 #clipboard_to_pyfunc() 자동화 작업을 하다 보면, 한/글 API에 나와 있지 않은 기능을 스크립트매크로로 녹화해서 파이썬 함수로 변환하려고 하는데, 매크로 자체가 너무 길고 복잡할 때가 있어요. 예를 들어, 아래는 "찾아바꾸기"를 녹화한 스크립트매크로예요. function OnScriptMacro_중국어1성() { HAction.GetDefault("AllReplace", HParameterSet.HFindReplace.HSet); with (HParameterSet.HFindReplace) { MatchCase = 0; AllWordForms = 0; SeveralWords = 0; UseWildCards = 0; WholeWordOnly = 0; AutoSpell = 1; Direction = FindDir("Forward.. 2023. 11. 30.
pyhwpx 간편설치 및 실행 방법 pyhwpx는 고급 업무자동화 기능의 구현보다는, 기본적이고 많이 쓰이지만 다소 사용법이 까다로운 API들을 보다 직관적이고 간단히 실행할 수 있도록 만들어진 모듈입니다. (아직은 개발 초기라서) 직관적이지 않거나, 일명 파이써닉하지 않은 부분이 있습니다.. 조금씩 개선하고 보완하겠습니다. 현재 제 PC에 설치되어 있는 파이썬은 3.11, 아래아한글은 2022 버전입니다. 대부분의 포스팅은 주피터노트북으로 진행하겠습니다. 그럼 설치부터 시작해봅시다. 주피터노트북을 여셨으면 첫 번째 코드 셀에 %pip install pyhwpx 를 입력하고 실행해주세요. 모듈 임포트는 아래와 같은 방식으로 진행합니다. from pyhwpx import Hwp # from pyhwpx import * # (선택) 로우레벨 .. 2023. 11. 28.
파이썬 모듈 pyhwpx를 소개합니다. 안녕하세요? 일코입니다. 업무자동화 강의를 준비하다 문득 이런 생각이 들었습니다. 저는 업무자동화와 코딩을 공부한지 올해로 8년 정도 되어서, 다소 복잡한 코드도 이 즈음 되니까 친숙한 느낌이 들고 이젠 좀 적응이 되는 것 같은데.. 이제 막 코딩에 입문한 분들이 아래아한글 자동화를 경험하면 공식문서도 시원찮고, 문법이나 구조도 복잡하고.. 진입장벽이 너무 높겠더라고요. 호기심에 시작하더라도, 배우다 지쳐 그만두실 것 같았습니다. 저 혼자 쓰는 거라면 이미 익숙해져버린 방법을 계속 쓰면 되는데, 새롭게 배우려는 분들에게는 뭔가 더 직관적인 라이브러리가 있으면 좋겠다 싶은 마음이 들어서 파이썬 모듈을 하나 제작하게 되었습니다. 이름하여 pyhwpx! hwpy나 hwppy로 짓고 싶었는데, hwpy는 이미 .. 2023. 11. 28.
[이벤트핸들러] 문서저장시 첫 번째 표를 엑셀로 자동저장하는 이벤트 hwp automation에서는 꽤 다양한 이벤트핸들러를 제공하고 있는데요. 대략의 목록은 아래와 같습니다. OnQuit OnCreateXHwpWindow OnCloseXHwpWindow OnNewDocument OnDocumentBeforeClose OnDocumentBeforeOpen OnDocumentAfterOpen OnDocumentBeforeSave OnDocumentAfterSave OnDocumentAfterClose OnDocumentChange OnDocumentBeforePrint OnDocumentAfterPrint OnDocumentClickedHyperlink OnDocumentModifiedHyperlink OnBeforeQuit 대략의 사용법을 예시코드로 보여드려보면, """.. 2023. 11. 28.
[QnA] 문서 자동교정 프로그램 만들기 안녕하세요! 일상의 코딩님! 매번 올려주신 영상 유용하게 보고 있는 구독자입니다! 다름이 아니라, 코딩님 블로그를 보니 한글에서 메일머지기능과 매크로를 이용한 여러 단어 찾아바꾸기 자동교정하는 법 올려주셨더라구요...! ㅎㅎ 어깨와 팔의 심신이 고달픈 차에 좋은 정보를 알게 되어 매크로 함수를 카피해서 적용을 해보려고 했는데...이 분야가 생소해서 글이 잘 이해가 안가더라구요...하하 물론...오류를 내고... 적용엔 실패했습니다...ㅠㅠ 혹시 언제 시간나실 때! 채널에 적용 방법 공유해주시면 좋을 것 같아서 댓글 남겨봅니다! 한글을 이용한 문서 편집자들에겐 참 좋은 정보가 될 것 같아서요! ㅎㅎ 항상 좋은 정보 감사드리고 2023년 복 많이 받으세요!!! 우선 실습을 진행하기 위한 파일을 다운받아주세요.. 2023. 1. 13.
[QnA] "PDF가 모아찍기로 출력돼요" #PDF 출력시 파이썬으로 모아찍기 일괄해제 파이썬으로 특정 폴더에 있는 한글(hwp)파일들을 PDF로 전환하려고하는데.. 한글에서 마지막 저장 시 두쪽 모아찍기로 인쇄하고 저장을 하면 해당 설정을 기억해서 파이썬으로 불러들여서 PDF로 저장하면 한페이지에 두장 모아 찍기로 PDF가 저장이 됩니다. 저장된 파일의 최종 인쇄설정을 무시하고 종이 한장에 1페이지 인쇄 설정한 상태로 전환하여 PDF로 저장하고 싶은데.. 쉽지 않네요 파이썬으로 여러 개의 HWP 파일을 PDF로 변환하는 건 사실 굉장히 간단한 작업입니다. 코드도 짧죠. 예를 들어, 위와 같이 hwp파일이 여러 개 있고, 동일한 파일명에 확장자만 바꿔서 PDF파일을 생성하려면? 아래와 같이 코드를 짜볼 수 있겠죠. import os import win32com.client as win32 .. 2022. 9. 21.
[QnA] (5/5) 특정단어를 포함한 문단을 표로 감싸기-최종 안녕하세요. 한글 자동화 프로그램을 공부하고 있는데 궁금한 사항이 있어 질문합니다. 특정 글자가 들어가 있는 문단을 찾아서 그 곳에 글뒤로 속성으로 표를 삽입하고 싶습니다. 1. 자동으로 표 생성시 속성을 "본문과의배치"에서 "글뒤로" 선택하여 생성할 수 있나요? 이 속성없이 생성시 문단에 삽입되면서 글자가 밀려나는 현상이 발생합니다. 2. 찾은 문단의 위치값을 HWPUNIT 값으로 알 수 있나요? 표 생성시 위치값은 HWPUNIT으로 지정해야 하는데 현재 찾은 위치의 속성은 줄,칸으로 알려주네요. 이상입니다. 자, 이전포스팅까지의 내용을 통해 드디어 모든 재료가 완성되었습니다. 2022.09.19 - [업무자동화/파이썬-아래아한글 자동화 응용] - [QnA] (2/?) 표 생성하고, 수정하기 [QnA].. 2022. 9. 19.
[QnA] (4/5) 특정 단어를 포함한 문단 검색하기 안녕하세요. 한글 자동화 프로그램을 공부하고 있는데 궁금한 사항이 있어 질문합니다. 특정 글자가 들어가 있는 문단을 찾아서 그 곳에 글뒤로 속성으로 표를 삽입하고 싶습니다. 1. 자동으로 표 생성시 속성을 "본문과의배치"에서 "글뒤로" 선택하여 생성할 수 있나요? 이 속성없이 생성시 문단에 삽입되면서 글자가 밀려나는 현상이 발생합니다. 2. 찾은 문단의 위치값을 HWPUNIT 값으로 알 수 있나요? 표 생성시 위치값은 HWPUNIT으로 지정해야 하는데 현재 찾은 위치의 속성은 줄,칸으로 알려주네요. 이상입니다. 지난 포스팅에서는 지난 포스팅에서는 용지의 너비와 문단의 높이를 구하는 함수를 구현해보았습니다. 2022.09.19 - [업무자동화/파이썬-아래아한글 자동화 응용] - [QnA] (3/5) 문단의.. 2022. 9. 19.
[QnA] (3/5) 문단의 높이와 너비(HwpUnit) 구하기 안녕하세요. 한글 자동화 프로그램을 공부하고 있는데 궁금한 사항이 있어 질문합니다. 특정 글자가 들어가 있는 문단을 찾아서 그 곳에 글뒤로 속성으로 표를 삽입하고 싶습니다. 1. 자동으로 표 생성시 속성을 "본문과의배치"에서 "글뒤로" 선택하여 생성할 수 있나요? 이 속성없이 생성시 문단에 삽입되면서 글자가 밀려나는 현상이 발생합니다. 2. 찾은 문단의 위치값을 HWPUNIT 값으로 알 수 있나요? 표 생성시 위치값은 HWPUNIT으로 지정해야 하는데 현재 찾은 위치의 속성은 줄,칸으로 알려주네요. 이상입니다. 문단의 크기를 좌표값으로 구할 수 있다면 얼마나 좋을까요? 그런데 한글에는 그런 기능이 구현되어 있지 않으니 문단의 줄 수, 글자높이(pt)와 줄간격(%)을 더해서 문단의 높이를 직접 계산해보겠습.. 2022. 9. 19.