본문 바로가기
728x90
반응형

업무자동화89

[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.
한/글 매크로의 with (xxx) {yyy} 문법은 파이썬으로 어떻게 바꾸나요? 질문주신 내용은, 안녕하세요. 포스팅 해주신 내용이 제 업무에 엄청나게 도움이 될 내용이어서 정말로 감사드립니다. (주로 필요할때마다 한글매크로 만들어서 사용중입니다) 첫번째로 말씀해주신 방법(매크로 코드를 파이썬으로 옮겨서 중괄호, 세미콜론 등 지우고 hwp. 붙여주는 방법)으로 시도중인데요 다음 코드(한글 매크로 코드편집 내용)에서 ***로 표시한 부분을 파이썬에서 어떻게 바꿔야 할 지 모르겠어서 여쭤봅니다. 혹시나 시간 편하실때로 답변주시면 정말로 감사드리겠습니다. 아래 매크로 코드 내용은 '마침표를 찾아서 엔터(=문단끝) 두번 입력' 입니다. { HAction.GetDefault("FindDlg", HParameterSet.HFindReplace.HSet); with (HParameterSet.H.. 2022. 1. 3.
pythonwin에서 COM MakePy Utility 목록이 비어있는 오류 해결방법 파이썬으로, 특히 pywin32 모듈로 엑셀이나 아래아한글 자동화를 하시는 분들 계시죠? 저를 포함해서요. 종종 여러 가지 알 수 없는 문제들을 만나는데, 국내에는 파이썬으로 win32를 깊게 다루는 포스팅이 많지 않아서 해결에 수일이 걸리기도 하고, 결국 그 지점에서 포기하는 분들도 많습니다. (가장 많은 오류는 gen_py 관련이 아닌가 생각해봅니다.) 관련 커뮤니티가 만들어지고 활성화되면 참 좋을텐데요. 하여튼 오늘은 제가 새 노트북(무려 XPS13)을 24개월 할부로 지른 기념으로 파이썬도 설치하고 pywin32도 설치하고 교육자료를 준비한다고 분주했는데, 또 처음 보는 오류가 한 번 나타났습니다. pythonwin을 실행해서 MakePy Utility 메뉴를 선택했는데 아래와 같은 오류가 뜨는 .. 2021. 12. 14.
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.
728x90
반응형