본문 바로가기

아래아한글 자동화255

한/글 문서의 단순교정 매크로를 메일머지로!!?? 원문 출처는 폴리텍대학 서울강서캠퍼스 출판디자인과 | 아래한글 단순 교정 매크로 - Daum 카페 아래한글 단순 교정 매크로 단순 교정 매크로 작성 방법에 대하여 !--[if !supportEmptyParas]--!--[endif]-- 교정 업무를 진행하다 보면, 교정자의 판단이 필요 없이 무조건 일괄 변환시켜도 무방한 형태의 사례가 있습니다. 이를테면 cafe.daum.net 위와 같은 작업을 파이썬으로 간단히 처리해 보려고 합니다. 그 전에 원저자 분의 아이디어부터 한 번 검토해봅시다. 원문을 자세히 읽어보시면 짐작하시겠지만, 한/글 스크립트 자체에서는 엑셀파일과의 연동이 까다롭다고 생각하신 원저자 분께서 굉장히 신박한 방법을 하나 생각해 냅니다. 그것은 바로, "메일머지"로 "스크립트를 복제" 하는.. 2022. 1. 31.
파이썬으로 hwp파일 안에 메일머지 필드 삽입하고 실행하기 안녕하세요? 일상의 코딩 일코입니다. 아래아한글 보고서 작업을 자동화하는 기술은 1~2년 정도가 아니라, 20년 가까운 긴 전통이 있는 기술입니다. 그 덕분에 역사있는 Daum카페나 선생님들 커뮤니티 등의 십여년 전 글에서도 인사이트를 발견하곤 합니다. 그 중 하나가, 메일머지를 굉장히 다양하게 활용하는 분께서 남겨주신 꿀팁이었어요. (다음 포스팅에서 다루겠습니다.) 근데, 한 가지 먼저 고백하자면 제가 파이썬-한/글 자동화 관련한 유튜브채널과 블로그를 운영하면서 "메일머지" 노이로제에 걸리는 줄 알았습니다. 그 이유가 뭐냐면요. 가장 많이 받는 (부정적) 질문이 바로 "아니, 메일머지라는 멋진 기능이 있는데 왜 파이썬 (따위로) 자동화가 필요하죠?" 였거든요. 하여튼 메일머지 정도의 기능까지만 필요하신.. 2022. 1. 30.
한컴스페이스 웹에디터로 표 만들기 자동화(selenium) 기본적으로 한컴스페이스에 접속해서 새 문서를 여는 일련의 코드는 아래에서 참고하기 바랍니다. 크롬으로 한/글 문서 작성한 후 다운받기 feat. selenium 안녕하세요? 일상의코딩, 일코입니다. 최근 여러 브라우저에서 한/글 문서를 읽을 수 있는 기능을 제공하고 있습니다. 대표적으로 네이버 웨일은 (파일을 서버로 업로드하는 과정을 거친 후에) martinii.fun 한컴에서 제공해주는 무료 hwp 에디터인 한컴스페이스는 정품 아래아한글만큼은 아니지만, 대부분의 기능을 웹으로 지원해줍니다. 이게 또 신박한 것이 거의 모든 단축키가 구현되어 있고, 각종 작업아이콘도 div 태그로 또렷하게 구분되어 있거든요. body에다 send_keys를 통해 텍스트 입력이나 단축키 입력이 가능하고, 메뉴 자체의 htm.. 2022. 1. 28.
크롬으로 한/글 문서 작성한 후 다운받기 feat. selenium 안녕하세요? 일상의코딩, 일코입니다. 최근 여러 브라우저에서 한/글 문서를 읽을 수 있는 기능을 제공하고 있습니다. 대표적으로 네이버 웨일은 (파일을 서버로 업로드하는 과정을 거친 후에) 브라우저로 뷰어 기능을 거의 완벽하게 제공해줍니다. 크롬 브라우저 확장프로그램 중 하나인 hwp.js를 설치하면 크롬에서 hwp문서를 (완벽하진 않지만) 읽기전용으로 불러올 수도 있습니다. 그런데 이번에 소개해드리는 프로그램은 한컴오피스에서 공식적으로 제공하는 웹 hwp 편집기인 한컴스페이스입니다. 한컴스페이스 어디서나 펼쳐지는 오피스 세상 space.malangmalang.com 회원가입만 하시면 개인사용자에 한해서는 freemium이라는 무료 요금제로 2GB의 무료 스토리지와 한/글 프로그램에서 제공하는 대부분의 기.. 2022. 1. 27.
[추천] 파이썬 런타임에서도 엄청나게 빠른 누름틀 값 입력방법 안녕하세요? 이번 포스팅에서는 누름틀(필드)에 텍스트 삽입시 작업시간을 단축하는 노하우를 알려드리겠습니다. 아래아한글 자동화를 통해 가장 흔하고 손쉽게 자동화할 수 있는 업무라면 역시 "보고서 자동화" 아닐까 생각이 됩니다. 특히 엑셀파일이나, 이미지 파일, 혹은 폴더이름 등으로 입력할 자료를 정리해놓고 최종 순서로 hwp 보고서를 완성하는 일이 될 텐데요. 한 번이라도 실무 사이즈로 작업을 해 보신 분이라면 누름틀이나 셀 필드의 갯수가 굉장히 많을 것이라고 생각해요. (적당히 작은 갯수라면 이런 스킬을 찾지 않으셨겠죠.) 어떻게 삽입시간을 좀 단축할 수 없을까? 저도 자동화를 공부하던 초반에는 나름 고민했던 부분입니다. 필드에 값이 채워지는 과정을 하나부터 열까지 다 지켜보면서 나름 카타르시스를 느끼는.. 2022. 1. 27.
[QnA] 이미지 수백개를 삽입할 때 파이썬 for문으로 넣으면 너무 느려요! 제목: [문의] 파이썬에서 한글자동화 그림삽입 다이알로그 API 사용 방법 도움 요청 회사원 코딩님, 블로그에 공개된 InsertPicture 이용 한글자동화 소스 코드를 통해 많은 도움 받고 있습니다. 오늘은 실례를 무릅쓰고 방명록 대신 메일로 아래 내용 관련 조언 구하고자 합니다. (1)입력 메뉴에 있는 그림(P) PictureInsertDialog 호출하여 (2)특정 위치(디렉토리)에 있는 (3)모든 image(PNG) 파일을 Ctrl+A 선택하여 (4)일시에 한글 파일에 넣고자 합니다. InsertPicture의 경우 한 개의 파일만 삽입 가능한데 for loop 문을 사용하여 많은 양의 image 파일을 반복하여 삽입할 경우 다소 시간이 소요되더군요. 그리고 InsertPicture 파일 인자로.. 2022. 1. 24.
[Q&A](3/3) 제목을 {문서첫줄}.hwp로 저장하는 가장 쿨한 방법 지난 포스팅 [Q&A](1/3) 제목을 {문서첫줄}.hwp로 저장하는 가장 쿨한 방법 안녕하세요? 일상의 코딩, 일코입니다. 질문을 읽어보니 대략 이런 상황인 것 같습니다. 1. 아래와 같은 내용의 파일이 있고, 2. 이걸 아래와 같이 만들고 싶으신 것 같습니다. 여기서 잠깐 이 생 martinii.fun 2022. 1. 14.
[Q&A](2/3) 제목을 {문서첫줄}.hwp로 저장하는 가장 쿨한 방법 안녕하세요? 일상의 코딩, 일코입니다. 두 번째 시간입니다. 지난 시간에는 한/글을 열지 않고도 첫 줄을 불러오는 함수를 소개해드렸습니다. def 첫줄읽기(filepath): """한/글 문서 텍스트를 불러와서 엔터(\r\n)로 쪼갠 후 첫 번째 행 리턴""" with OleFileIO(filepath) as ole: # 한/글 파일 불러오기 text = ole.openstream('PrvText').read().decode('UTF-16').split("\r\n")[0] return text 이번에는 이 함수를 활용해서 파일들의 이름을 일괄 변경하는 프로그램을 만들어보겠습니다. 기존 파일목록은 아래와 같습니다. GUI를 열어서 파일목록을 선택한 후, 선택한 파일들의 PrvText 첫 번째 라인을 불러와.. 2022. 1. 14.
[Q&A](1/3) 제목을 {문서첫줄}.hwp로 저장하는 가장 쿨한 방법 안녕하세요? 일상의 코딩, 일코입니다. 질문을 읽어보니 대략 이런 상황인 것 같습니다. 1. 아래와 같은 내용의 파일이 있고, 2. 이걸 아래와 같이 만들고 싶으신 것 같습니다. 여기서 잠깐 이 생각을 해 봅시다. 여러분은 아래 두 가지 중 어떤 게 좋은 방식이라고 생각하시나요? (물론 호불호일 뿐, 정답은 없다고 생각합니다.) ① 따로따로 만들어 각각 실행하기!? 우선 다 잘라서 저장하는 프로그램을 하나 만들고, 파일명을 변경하는 프로그램을 별도로 만든다. 예를 들면 간단히 페이지 번호대로 1.hwp, 2.hwp, 3.hwp ... 저장하는 식으로. 그 후에 파일명을 변경하는 코드를 따로 만든다. (1.hwp부터 하나씩 열어서 "첫 번째 페이지입니다.hwp" 방식으로) ② 원클릭으로 끝까지 한 번에!?.. 2022. 1. 14.