본문 바로가기

전체 글163

AttributeError: module 'win32com.gen_py.7D2B6F3C-1D95-4E0C-BF5A-5EE564186FBCx0x1x0' has no attribute 'CLSIDToClassMap' 해결방법 오랜만에 한/글 자동화를 하려다 보면 아래와 같은 오류가 뜰 때가 있습니다. 전에도 몇 번 pythonwin.exe를 실행하고, MakePy를 통해서 해결하는 방법 등을 포스팅한 적이 있습니다. 이번에는 여러 개의 파이썬 버전 또는 가상환경을 사용하시는 분들을 위한 설명입니다. 저도 최근에 확인했는데, 가상환경에 설치한 pywin32패키지의 pythonwin.exe는 실행되지 않더라고요. 해결방법은 글로벌파이썬에 pywin32 를 설치한 후 글로벌의 pythonwin.exe 로 MakePy를 실행하는 것입니다. 다소 포스팅이 길어질 것 같은데 우선 3줄요약을 붙여놓겠습니다. 1. venv 등으로 생성한 가상환경에서는 pythonwin.exe가 실행되지 않습니다. (버그로 추정) 1. 해당 가상환경의 소스.. 2021. 9. 14.
셀에 그라데이션 적용하는 방법 김준님께서 남겨주신 질문입니다. 2021. 8. 21.
[파이썬-한/글]GetText 사용시 탐색범위 지정하는 방법 질문주신 내용 GetText는 한/글 문서 내의 모든 텍스트를 탐색하는 메서드입니다. 사용방법은 ①InitScan으로 초기화하고, ②GetText로 탐색한 후에 ③ReleaseScan으로 종료합니다. 재미있는 점은, 탐색범위 지정이 굉장히 유연한데, InitScan 실행시 option과 Range 파라미터를 사용해서 옵션과 탐색범위를 정할 수 있습니다. 예를 들어 본문만, 역순으로, 라인별로 끊어서, 단락기호별로, 블록선택한 범위 내에서, 혹은 커서위치부터 등등 굉장히 유연하며, MovePos와 SetPos를 사용해서 탐색중인 문단 혹은 글자위치로 캐럿을 옮기는 것도 간편합니다. (어떤 면에서는 찾아바꾸기 액션과 유사해 보이지만, API매뉴얼 중 InitScan을 찾아보겠습니다. (HwpCtrl API... 2021. 8. 14.
[파이썬-한/글] 자동 자간조정으로 문서 깔끔하게 만들기 질문주신 내용은, 저도 고민해 본 적이 많은 주제입니다. 미흡하게나마 설명과 코드를 남깁니다. 먼저 예문을 만들어봅시다. 한글Lorem Ipsum 생성기에 들어가서 아래와 같이 두 개의 문단을 만들었습니다. 국가원로자문회의의 조직·직무범위 기타 필요한 사항은 법률로 정한다. 모든 국민의 재산권은 보장된다. 그 내용과 한계는 법률로 정한다. 대통령은 국민의 보통·평등·직접·비밀선거에 의하여 선출한다. 국민의 모든 자유와 권리는 국가안전보장·질서유지 또는 공공복리를 위하여 필요한 경우에 한하여 법률로써 제한할 수 있으며, 제한하는 경우에도 자유와 권리의 본질적인 내용을 침해할 수 없다. 모든 국민은 주거의 자유를 침해받지 아니한다. 주거에 대한 압수나 수색을 할 때에는 검사의 신청에 의하여 법관이 발부한 영.. 2021. 8. 14.
[파이썬-한/글]이미지 삽입시 "글뒤로 보내기" 설정방법 안녕하세요? 먼저 질문글에서 언급해 주신 글은 이것으로 추정됩니다. [자동화문의] 표 안에 이미지 넣는 작업 [1] 안녕하세요? 코딩하는 회사원들 유튜브 채널 구독자입니다. 궁금한것이 있어 이렇게 메일 드립니다. 저희회사에서는 매월 천개가 넘는 그림파일을 한글파일의 특정서식의 표에 붙여넣는 단 martinii.fun 위 글 중에 "이미지 삽입" 코드는 딱 한 줄입니다. hwp.InsertPicture(파일, Embedded=True, sizeoption=3) # sizeoption 파라미터 설명 # 0 : 이미지 원래의 크기로 삽입한다. width와 height를 지정할 필요 없다. # 1 : width와 height에 지정한 크기로 그림을 삽입한다. # 2 : 현재 캐럿이 표의 셀 안에 있을 경우, 셀.. 2021. 8. 14.
[PySide6] QLabel을 클릭가능하게!? 지금까지의 내용을 요약하면, 안녕하세요? QLabel에 대한 설명을 간단하게 세 개의 포스팅에 걸쳐서 설명드렸습니다. 지금까지의 골자는, 기본적으로 이미 만들어진 틀(클래스)을 가져다 쓰기만 하면 되기 때문에(사실 그런 예제 밖에 안 보여드렸고...), 어떻게 임포트하고 어떻게 상속해서 어떻게 배치하는지, 이 정도만 알면 Qt GUI를 짜는 데 큰 걸림돌이 없다는 것이었습니다. 그런데... 이번 시간에는 그런데 이번 시간에는 진지하게 나름 상급기술을 하나 짚고 넘어가려고 합니다. 바로 QLabel에 클릭이벤트 붙이기! 전문용어로는, "클릭시그널이 없는 위젯에 클릭시그널 넣기" 정도? 영어로는 깔끔하게 "Making non-clickable widgets clickable"이라고 표현하네요. 조금 다뤄보시.. 2021. 8. 11.
파이썬-한/글API로 수식 자동삽입(feat. 밍밍님) 질문주신 내용은.. 제가 참고하라고 남겼던 114번 글은, 삽입방법이 들어있긴 하지만, 문맥상 기존에 있던 수식을 전부 해체 및 저장해서, 새로운 페이지나 새로운 문서에 집어넣기 위해 사전으로 저장하고, 사전에서 추출해오는 코드였습니다. 포스팅에 있던 코드 중 밍밍님께서 질문 주신 내용에 대한 부분만 추출해보면 아래와 같습니다. from time import sleep import win32com.client as win32 hwpeqn_text = "a ^{m} ÷a ^{n} = {cases{a ^{m-n} ~~&(m>n)#1&(m=n)#{1} over {a ^{n-m}}&(m 2021. 8. 10.
Make work visible을 읽으며.. 멀티로 일을 잘 하는 사람들, 여러 개의 업무를 동시에 척척 해내는 사람들. 나는 그런 스타일은 아니라고 생각하면 괜히 마음이 무겁고, 스트레스를 받아왔었다. 우리회사 특성상 보통 대여섯가지 업무를 동시에 맡는 것이 기본이고, 거기다 내가 막내였기 때문에 이런 부분이 고통스럽고 문제가 될 때가 많았다. 최근 칸반보드 스타일의 업무관리 툴을 소개하는 책을 (다시) 한 번 꺼내 읽었는데, 컨텍스트 스위칭이라는 용어가 눈에 들어왔다. 한 가지 일을 밤새 하는 것은 나름 자신이 있는데, 짧은 시간에 여러 업무를 병행할 때 스트레스를 많이 받고 시간도 많이 걸리는 게 비단 나만의 문제는 아니라는 마음이 들어 적잖은 위안이 되었다. 개인적으로는 trello를 업무나 일정관리에 굉장히 적극적으로 활용하고 있는데, 내.. 2021. 8. 7.
[PySide6]QLabel로 QMainWindow 창에 이미지 삽입하기(3/3) QLabel 위젯 마지막 시간입니다. QLabel은 이름 그대로 레이블을 붙이는 간단한 위젯이라서, MainWindow에 붙이든 QWidget에 붙이든 사용은 간편합니다. widget = QLabel(text="Hello") 방식으로 위젯을 생성하고 VBox나 HBox로 레이아웃을 짜고 레이블 위젯을 배치하기만 하면 되니까요. 그리고 이 포스팅이 입문과정이라서 그렇지, 조금만 본격적으로 배워보실 마음이 있으면, 한땀한땀 코드로 짜는 과정은 얼른 건너뛰시게 될 거고, 결국 편리한 Qt 툴 검색해보시게 될 거고, QtCreator, QtDesigner, QtQuick, QtDesignStudio와 (조금 과장해서) 수십만원을 호가하는 Qt 전용 모듈과 툴들이 즐비한 마켓플레이스가 있다는 것에도 깜짝 놀라게 .. 2021. 8. 6.