본문 바로가기

아래한글89

현재 위치 글자모양에 "진하게"가 적용되어 있는지 확인하는 방법 자동화 하다 보면 이런 상황을 종종 만납니다. 특정 위치, 혹은 특정 문구를 가진 구간을 선택해서 "진하게"를 적용해야 하는데, 일괄적으로 모든 검색구간에 hwp.Run("CharShapeBold")를 실행해버리면 기존에 진하게 되어 있던 구간들은 모두 "진하게"가 풀려버리잖아? 이런 경우 해결하는 방법입니다. 우선 코드실행 화면은 아래와 같습니다. 조항번호 재정렬 및 조항명 진하게 하는 코드 실행화면 현재 캐럿이 위치해 있는 글자 혹은 선택영역의 속성적용여부를 알아내는 코드는 아래와 같습니다. Act = hwp.CreateAction("CharShape") # "글자모양" 액션 생성 Set = Act.CreateSet() # 해당 세트 생성 Act.GetDefault(Set) # 세트 초기화(Set의 .. 2020. 12. 7.
2019년 파이콘 참석영상(코알못 직장인) 안녕하세요? 회사원코딩의 Martinii입니다. 아래 영상은 작년 파이콘코리아 세션에 큰맘먹고 15분 발표신청을 해봤는데 운좋게 단상에 서게 되었고, 주최측에서 녹화해주신 영상입니다. 워낙 바쁘고 스트레스를 많이 받던 시기이기도 했고, 제대로 준비를 해서 더 멋진 모습을 보여드리고 싶었는데, 머릿속에서 그렸던 대로 발표가 이뤄지지는 않아 섭섭함이 많이 남은 발표지만, 여러 번 보니 오글거림이 줄어들기는 하더군요ㅜ (이번 2020에도 염치없이 신청해볼까 했다가, 별다른 진전이 없어서 포기하게 되었습니다. 비슷한 주제라면 더 잘 할 수 있을 것 같은데...) 그리고 아래 영상은 2019파이콘 준비를 위해 실시했던 격월세미나(?) 에 또 한/글 자동화 관련해서 무작정 발표신청하고 찾아가서 10분 발표를 했는데.. 2020. 8. 17.
한/글 파일로 사내 설문조사를 만들어 취합해보자.[1/2] 아래아한글이 익숙한 대한민국 공무 직원들에게는 구글설문이나 MS폼즈도 좋지만, 자료전송을 거쳐서 엑셀로 취합하고 다시 한글로 변환하고 이런 작업이 번거롭습니다. 시간 잘 가는 걸 좋아하시거나 기존 방법을 좋아하시는 분들은 하던 대로 하시고(취존) 아래아한글로 설문파일을 만들어서 취합을 원하시는 분들은 아래 코드와 한/글파일을 참고해 주시기 바랍니다. 설문조사를 위한 한/글 파일은 아래와 같이 생겼습니다. (예제라서 간단하게..) 그리고 코드는 아래와 같습니다. import os from collections import defaultdict import win32com.client as win32 hwp = win32.gencache.EnsureDispatch("HWPFrame.HwpObject") hw.. 2020. 8. 4.
[파이썬-한/글] 현재 커서의 페이지를 알고 싶다? 안녕하세요? 자동화작업을 할 때, 표 안에 이미지나 장문의 텍스트를 삽입하다 보면 다음페이지로 넘어가버릴 수 있죠. ("글자처럼 취급"한 상태면, 개체전체가 다음페이지로 넘어갈 거고, 그렇지 않으면 셀이 다음 페이지로 넘어가 있겠죠?) 이걸 방지하기 위해서 현재 표의 위치, 현재 캐럿의 위치를 알아보고 싶은 경우들이 있습니다. 어마어마한 분량의 작업을 자동화하면서 모니터를 계속 쳐다볼 수는 없는 노릇이잖아요? 아래는 캐럿(커서)의 현재 페이지를 출력하는 코드입니다. import win32com.client as win32 # 모듈 임포트 hwp = win32.gencache.EnsureDispatch("HWPFrame.HwpObject") # 한/글 열기 hwp.XHwpWindows.Item(0).Vis.. 2020. 7. 30.
[파이썬-아래아한글] API매뉴얼과 스크립트매크로가 다르다? 안녕하세요? 회사원코딩의 신명진입니다. 이번 포스팅은, 스크립트매크로와 API매뉴얼 코드의 차이에 대해서 한 번 보여드리려고 합니다. 어떤 간단한 예제를 들어볼까 하다가, 쪽번호 감추기를 골라보았습니다. 아래는 스크립트매크로 녹화(Shift-Alt-H)를 이용한 "쪽번호 감추기" 기능입니다. function OnScriptMacro_script5() { HAction.GetDefault("PageHiding", HParameterSet.HPageHiding.HSet); with (HParameterSet.HPageHiding) { Fields = Hiding("PageNumPos"); } HAction.Execute("PageHiding", HParameterSet.HPageHiding.HSet); } .. 2020. 7. 29.
[파이썬-아래아한글] 제가 아래아한글 작업을 자동화하는 요령은.. 안녕하세요? 회사원코딩의 신명진입니다. 아래아한글 홈페이지 - 고객지원 - 개발자료실에 가면 아래아한글을 코딩으로 자동화할 수 있는 다양한 언어 예제와 API 매뉴얼이 있습니다. VB, MFC, C#, JS 등의 언어로 구현이 되어 있어요. 파이썬 코드도 이와 크게 다르지 않아서, API 매뉴얼을 어느 정도 읽어보시면 독학으로도 충분히 파이썬 자동화를 하실 수 있습니다. (링크 : https://www.hancom.com/board/devdataList.do?gnb0=25&gnb1=81 ) 신기하게도 아래아한글의 API는 같은 기능을 가지고도 구현방법이 여러가지입니다. 이게 제일 생소했던 부분인데, (문의메일을 보면 이 부분 때문에 "방대하고 어렵다"고 느끼시는 분도 많은 것 같아요.) 사실 파이썬에서 .. 2020. 7. 28.
백그라운드의 아래아한글, 숨김해제하는 방법(Visible) import win32com.client as win32 hwp = win32.gencache.EnsureDispatch("HWPFrame.HwpObject") hwp.RegisterModule("FilePathCheckDLL", "SecurityModule") current_window = hwp.XHwpWindows.Item(0) current_window.Visible = True # 숨김해제하는 코드 # hwp.XHwpWindows.Item(0).Visible = True 로 실행해도 동일 안녕하세요? 회사원코딩의 신명진입니다. 한/글2018이든 2020이든, 아니면 2010이든간에 최신 업데이트를 하고 나서 파이썬으로 아래아한글을 열면 기본적으로 백그라운드에서 파일이 열리게 됩니다. (커맨드창에.. 2020. 7. 28.
유튜브에 "회사원코딩"을 검색해보세요. 저는 회사원코딩이라는 유튜브 채널을 운영하고 있습니다. 공공기관 막내 생활을 5년 넘게 해 오면서, 단순한 아래아한글 반복작업 때문에 야근을 많이 했습니다. 그 때 이것저것 시도해보면서 얻은 지식과 노하우를 바탕으로 아래아한글-파이썬 자동화 예제를 동영상으로 만들어서 올리던 중에 이제는 아이디어가 슬슬 동이 나고 있어서... 영상을 올리지 않고 있습니다. (자동화라고 해봤자 10여개 명령어만 알면 정말 "다 할 수 있다"고 해도 과언이 아니거든요..) 10분 영상 기획해서 컷편집 작업하는 것도 시간을 많이 쓰게 되더라고요ㅜ 그리고...영상을 안 올리니까 구독자도 천 명 언저리에서 안 오르고 있습니다. 그만 올릴까 했는데 아직도 문의메일은 종종 받습니다. 대부분의 방법은 제 영상 곳곳에 다 설명해놓긴 했는.. 2020. 7. 28.