본문 바로가기

Automation8

hwpx 모듈 개발 중에 버그 하나를 해결하면서.. 2023. 11. 15. 개발일기 hwpx 모듈 개발에 착수한지 일주일쯤 되었는데, 예상하지 못한 몇 가지 문제를 우연히 발견하게 되었다. Hwp라는 클래스를 만들면서, 생성자(__init__) 안에서 win32로 한/글 오토메이션 오브젝트를 생성하고 인스턴스가 실행하는 모든 메서드는 내부의 hwp 오브젝트와 연결되게끔 매핑을 해두었는데, 오토메이션 프로퍼티 중 HeadCtrl과 LastCtrl 두 개가 말썽이었다. Hwp인스턴스.HeadCtrl이 클래스 내부에 생성되어 있는 hwp오브젝트.HeadCtrl과 같지 않다는 것을 발견했다. 새 문서를 Hwp로 열었는데, 표를 몇 개 추가한 후 여전히 인스턴스.LastCtrl이 "단 정의"라는 충격적인 결과를 보는 와중에도, hwp.LastCtrl.Next.U.. 2023. 11. 15.
[pywin32]파이썬코드 한 줄로 엑셀 표 자동생성 들어가며, 파이썬에는 엑셀파일이나 엑셀프로그램을 다루는 다양한 모듈이 있습니다. 엑셀파일을 다루는 모듈 중에는 pandas나 openpyxl이 많이 쓰이고 마이크로소프트 엑셀 프로그램을 직접 다루는 프로그램으로는 xlwings나 pywin32가 많이 쓰이죠. 저는 개인적으로 pywin32 모듈을 가장 선호합니다. 그 이유는 여러 가지가 있겠지만, 우선 DRM보안에 걸리지 않고, 다른 모듈에 비해 가장 VBA와 비슷한 명령어로 사용할 수 있어서입니다. 엑셀의 매크로 녹화를 통해 VBA코드를 복사한 후 파이썬으로 옮기면 대부분 큰 수정 없이 사용할 수 있거든요. 일례로 이번 시간에는, 파이썬으로 빈 엑셀파일을 열고 1행에 칼럼제목을 적은 후에, 빈 표를 생성하는 코드를 파이썬으로 작성하는 과정을 보여드리려고.. 2021. 6. 24.
[3/4] 정관문서 서식잡기(장이름 중앙정렬, 위아래 빈라인 삽입) 지난 포스팅은... [2/4] 정관문서 서식잡기(장이름, 조제목만 굵게) 부탁 드렸던 방법은 제가 회사의 정관을 많이 손 보아야 하는 직업이라. 수년전 한글내에서 매크로로 겨우 조항 제목 문자 굵게 만들고, 2번 질문====================== 제 1조(상호) 제 2조(목적)을 다 www.martinii.fun 3번 질문============== 정관 제 1 장 총칙 제 1조 제 2조.. 제 3조... 제 2 장 주식과 주권 제 4조.... 제 5조.. 제 3 장 임원 제 6조 등과 같을 때. 장의 위치를 페이지 가운데로 위치하고 싶고, 또한 각 장 줄의 위와 아래에 빈 줄을 삽입해 넣고 싶습니다. 즉, 빈줄 정관 빈줄 제 1 장 총칙 빈줄 제 1조 제 2조.. 제 3조... 빈줄 제 2 장.. 2020. 12. 12.
[0/4] 정관문서 서식잡기 준비(조번호 재정렬) 안녕하세요? 강의에서 예문으로 "통칙"이 있는데 제가 하고 싶은 것은 제1조, 제2조 제3조등이 쭉....수십개 있습니다. 그 중 예로 제3조와 제 4조 사이에 한 두개의 조항이 추가되면 이후 끝까지 조번호가 바뀌는 작업을 일일이 손으로 했습니다. 한글에서 스크립트 작성을 해 봐도 이것이 자동으로 할 수 없기에. 파이썬을 사용하면, 가능할지. 선생님의 강의를 보고는 통칙 예제가 있어 감히 조언 받고자 문의 드립니다. 이 글 보실런가 모르겠지만...꼭 보시고...도움 주시면 정말 고맙겠습니다. 제 메일은 xxx123@xavier.com 입니다. 감사합니다. 한 구독자 분으로부터 문의메일을 받고 자문을 드렸던 내용을 포스팅으로 올리고 있습니다. 일명 "정관 바로잡기" 시리즈입니다. 총 5개의 포스팅으로 연재.. 2020. 12. 11.
2019년 파이콘 참석영상(코알못 직장인) 안녕하세요? 회사원코딩의 Martinii입니다. 아래 영상은 작년 파이콘코리아 세션에 큰맘먹고 15분 발표신청을 해봤는데 운좋게 단상에 서게 되었고, 주최측에서 녹화해주신 영상입니다. 워낙 바쁘고 스트레스를 많이 받던 시기이기도 했고, 제대로 준비를 해서 더 멋진 모습을 보여드리고 싶었는데, 머릿속에서 그렸던 대로 발표가 이뤄지지는 않아 섭섭함이 많이 남은 발표지만, 여러 번 보니 오글거림이 줄어들기는 하더군요ㅜ (이번 2020에도 염치없이 신청해볼까 했다가, 별다른 진전이 없어서 포기하게 되었습니다. 비슷한 주제라면 더 잘 할 수 있을 것 같은데...) 그리고 아래 영상은 2019파이콘 준비를 위해 실시했던 격월세미나(?) 에 또 한/글 자동화 관련해서 무작정 발표신청하고 찾아가서 10분 발표를 했는데.. 2020. 8. 17.
1. 파이썬으로 DavinciResolve를 제어하기 위해 필요한 준비작업 안녕하세요? 요즘 인기 급상승하는 부업거리, 유튜브 영상자동제작&업로드 시스템을 구축하기 위한 튜토리얼입니다. 1. 파이썬을 어느 정도 다룰 줄 아시고, 2. 다빈치리졸브를 써보신 분이라면 분명히 다빈치리졸브에 파이썬 스크립트 기능이 포함되어 있다는 사실을 알고 환호하셨을텐데요. 프로젝트 시작부터 끝까지, (다소 번거롭기는 하지만) 소스를 조합해서 영상을 만들고 유튜브나 비메오에 업로드 배포하는 단계까지 모두 리졸브 안에서 코딩으로 가능하다는 뜻이거든요. "유튜브 1일1영상 업로드 자동화" 같은 부업거리에 도전해 볼 만 하겠다고 생각하신 분들이 많을 것 같아요. 무료 비디오클립 수집, 무료e북 다운로드, 스크립트와 성우mp3 제작 등의 작업도 간단히 자동화할 수 있으니까요. 그리고, 파이썬 코딩이나 다빈.. 2020. 8. 10.
1. 파이썬으로 엑셀프로그램을 열고, 값을 입력해봅시다. 아래아한글 자동화기초 1번에서 아나콘다와 파이참을 설치했습니다. 엑셀 자동화도 동일한 프로그램으로 진행할 예정이므로 위 두 개의 프로그램을 먼저 설치해 주시기 바랍니다. VSCode나 노트패드++ 등 기존에 익숙하게 사용하시는 에디터나 IDE가 있다면 굳이 파이참을 사용하지 않으셔도 됩니다. 다만 제가 단축키를 알려드리거나 할 때는 파이참 기준으로 설명을 드릴테니, 사용하시는 프로그램에서 해당하는 명령어를 사용하시면 되겠습니다. 우선 이번 기초 튜토리얼에서는 한/글과 마찬가지로 pywin32 패키지의 win32com 모듈을 통해서 엑셀을 열어봅니다. 첫 시간은 파이참이 아니라 프롬프트에서 실행해보겠습니다. 윈도우 시작 버튼을 누르고, "Anaconda Prompt (anaconda3)" 아이콘을 찾아서 .. 2020. 8. 8.
한/글 파일로 사내 설문조사를 만들어 취합해보자.[1/2] 아래아한글이 익숙한 대한민국 공무 직원들에게는 구글설문이나 MS폼즈도 좋지만, 자료전송을 거쳐서 엑셀로 취합하고 다시 한글로 변환하고 이런 작업이 번거롭습니다. 시간 잘 가는 걸 좋아하시거나 기존 방법을 좋아하시는 분들은 하던 대로 하시고(취존) 아래아한글로 설문파일을 만들어서 취합을 원하시는 분들은 아래 코드와 한/글파일을 참고해 주시기 바랍니다. 설문조사를 위한 한/글 파일은 아래와 같이 생겼습니다. (예제라서 간단하게..) 그리고 코드는 아래와 같습니다. import os from collections import defaultdict import win32com.client as win32 hwp = win32.gencache.EnsureDispatch("HWPFrame.HwpObject") hw.. 2020. 8. 4.