본문 바로가기

업무고도화20

특정 페이지로 찾아가는 함수 만들기 아래아한글 API 중 GoTo라는 간편한 메서드가 있습니다. 쪽, 구역, 줄, 스타일, 조판부호 및 책갈피 등 다섯 개의 특성을 통해 인덱스를 입력하면 해당 라인으로 이동할 수 있는 간편한 대화상자를 제공하는데요. 사용방법은 대략 아래와 같습니다. hwp.HAction.GetDefault("Goto", hwp.HParameterSet.HGotoE.HSet) # 메서드 초기화 hwp.HParameterSet.HGotoE.SetSelectionIndex = 1 # "쪽"으로 찾아가기 설정 hwp.HParameterSet.HGotoE.HSet.SetItem("DialogResult", 3) # 3쪽으로 이동 hwp.HAction.Execute("Goto", hwp.HParameterSet.HGotoE.HSet.. 2022. 8. 7.
[QnA] 엑셀에서 줄바꿈된 텍스트를 한/글로 옮길 때 줄바꿈 유지하기 안녕하세요. 엑셀의 데이터를 한글로 옮기는 자동화 방법을 찾다가 유튜브에서 상장 만들기 컨텐츠를 보고 신세계를 경험했습니다. ^^ 그런데 그 과정 중에 엑셀에서 자동줄바꿈을 통해서 줄이 띄어져 있는 텍스트가 한글 (누름틀)로 입력이 되면 줄바꿈이 적용이 되지 않고 붙어서 입력이 되어서요. 혹시 엑셀의 줄 바꿈 편집이 그대로 한글에 엔터로 줄을 바꾼 것으로 적용되게 하는 방법이 없을까요? 번거로우시겠지만 답변 부탁드립니다. 안녕하세요? 이스케이프 문자열 차이 때문에 발생하는 간단한 문제이지만, 처음 겪을 때는 알쏭달쏭하기도 합니다. 해결방법을 먼저 알려드리면, 엑셀에서는 줄바꿈을 "\n"이라는 이스케이프 문자열로 처리합니다. 한/글에서는 줄바꿈을 "\n"이 아닌, "\r\n"으로만 인식합니다. (그 외에도.. 2022. 8. 4.
[QnA] Open메서드 실행시 오류:"매개변수의 개수가 잘못되었습니다." 해결법 안녕하세요. 제가 찾던 게 바로 이건데 딱 있어서 너무 놀랐습니다. 따라해보니까 이런 에러가 뜨는데 원인과 해결책을 알려주시면 감사하겠습니다. hwp.Open('c:/users/xxxxxxx/Documents/awards.hwp') Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2963, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "", line 1, in hwp.Open('c:/users/xxxxxxx/Documents/awards.hwp') File ".. 2022. 8. 2.
[QnA] 표 내의 일부 테두리를 점선으로 바꾸는 법 솔직히 저도 모든 파라미터셋을 외우는 게 아니어서, 이런 질문을 받으면 직접 실행해봅니다. 아래와 같은 과정으로요. 같이 한 번 해 봅시다. 1. 파이썬으로 한/글을 연다. 2. 스크립트매크로를 녹화해본다. 3. 파이썬 코드로 변환한 후 실행해본다. 4. 되면 끝. 안되면? 5. 액션과 파라미터셋을 검색해서 답을 찾는다. (오래 걸림ㅜ) 1. 파이썬으로 한/글 열기 import win32com.client as win32 hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject") hwp.XHwpWindows.Item(0).Visible = True 2. 스크립트 매크로 녹화를 누른 후 테두리를 점선으로 바꿔본다. 표를 하나 생성해보고, 원하는 셀선택한 시점 이.. 2022. 5. 13.
파이썬으로 한/글 파일에 텍스트를 입력하는 방법 파이썬으로 한/글을 실행하는 방법을 모른다면? 파이썬으로 아래아한글 실행하는 방법 1. python.org에서 파이썬을 다운받아 설치한다. 2. 커맨드프롬프트에서 "pip install pywin32"를 실행해서 win32com 모듈을 설치한다. 3. 파이썬을 실행하고 아래 코드를 실행한다. import win32com.client as.. martinii.fun 1. InsertText 액션을 이용하여 텍스트 입력 파이썬으로 한/글을 열었을 때 텍스트를 입력하는 가장 기본적인 방법은 아래와 같이 InsertText 액션을 정의하고 실행하는 것입니다. hwp.HAction.GetDefault("InsertText", hwp.HParameterSet.HInsertText.HSet) hwp.HParamete.. 2022. 5. 9.
서식 유지한 채로 스타일을 모두 "바탕글"로 바꾸는 코딩 안녕하세요? 일상의코딩 신명진입니다. 회사 다니다 보면 가끔 이런 경우가 있었습니다. 수십페이지의 아래아한글 레거시 문서를 구조화하기 위해서 개요와 스타일을 새롭게 매기고 싶은데 기존에 스타일이 뒤죽박죽 매겨져 있는 상태인 거예요. 근데 스타일을 변경하면 문서가 깨지잖아요ㅜ 그래서 서식은 그대로 두고 스타일을 모두 "바탕글"로 변경한 후에 개요와 스타일을 다시 하나씩 매겨보고 싶었거든요. 지식인에도 저와 똑같은 고민을 했던 분이 계시더라고요. 무작정 모든 스타일을 삭제하거나 "바탕글"로 바꾸면 서식이 다 날아가버려서 문서를 다시 구조화하는 작업이 굉장히 복잡해지죠. 문맥과 수준을 기억한 채로 수정해야 하니까요. (도입부 설명이 조금 길었습니다.) 이런 경우는 문서가 짧으면 어떻게라도 수작업으로 비벼볼 수.. 2022. 4. 30.
문서 내 모든 이미지를 추출하는 프로그램 feat. 한글메시지박스 지난 포스팅에서.. 한글 메시지박스 기능을 활용하면 준수한 (그리고 어색하지 않은) GUI를 구현해주었습니다. tkinter나 PySide 같은 모듈을 사용하지 않고도요. 2022.04.09 - [업무자동화/파이썬-아래아한글 자동화 기초] - hwp파일 열 때 한/글 자체 다이얼로그를 이용하면 qt도 tkinter도 필요없다!? hwp파일 열 때 한/글 자체 다이얼로그를 이용하면 qt도 tkinter도 필요없다!? 안녕하세요? 한/글에서 제공하는 API 중에는 대화상자를 열어주거나, 파일을 열거나, 대화상자를 띄워주는 메서드가 있습니다. 어쩔 수 없이 PyQt나 tkinter 등을 사용해야 하는 경우도 있지만 (여러 martinii.fun 아래의 예제는 한/글 자체 다이얼로그를 적극적으로 활용한 프로그램.. 2022. 4. 14.
hwp파일 열 때 한/글 자체 다이얼로그를 이용하면 qt도 tkinter도 필요없다!? 안녕하세요? 한/글에서 제공하는 API 중에는 대화상자를 열어주거나, 파일을 열거나, 대화상자를 띄워주는 메서드가 있습니다. 어쩔 수 없이 PyQt나 tkinter 등을 사용해야 하는 경우도 있지만 (여러 파일을 불러온다든지, 엑셀파일이나 다른 확장자를 불러와야 하는 경우 등) 기본적인 작업, 한/글 파일 하나를 불러와서 자동화작업을 하는 경우에는 거추장스럽게 GUI모듈을 임포트하지 말고 한/글에서 자체 제공하는 파일열기 다이얼로그를 사용하시면 코딩이 훨씬 간편해집니다. 사용법은 엄청나게 간단하거든요. 바로 hwp.Run("FileOpen") 입니다. 사용방법은 아래와 같습니다. Run 코드 한 줄이면 GUI가 뚝딱! 간편하지요? 한/글에서 제공하는 다양한 Run메서드가 궁금하시다면? hwp의 Run메서.. 2022. 4. 9.
선택한 특정 구간만 새로운 파일로 저장하는 함수 만들기 안녕하세요. 마티니님 유튜브, 블로그 구독자 ㅇㅇㅇ입니다. 먼저 한글 자동화 공부에 많은 도움 주셔서 감사합니다. 공개해주신 동영상, 블로그를 모두 찾아 봤는데요 제가 원하는 기능 없어서 문의 드립니다. 아래한글 파일의 내용 중 특정 영역을 블록으로 선택하여 지정된 블록영역만 다른이름으로 저장하려는데요. 예를 들어서 SetPos로 블록 시작위치를 지정하고 특정 위치의 블록 끝 위치를 지정한 후 블록으로 지정된 영역만 새로운 파일로 저장했으면 합니다. 도움 주시면 감사하겠습니다. 구독과 질문 감사합니다. 질문 주신 분은 어느 정도 한/글 자동화에 익숙하신 분인 것 같아요. SetPos로 두 개의 포지션을 선택해서 사이구간을 다른이름으로 저장하는 방법을 물어보셨습니다. 우선, 선택한 블록을 다른이름으로 저장.. 2022. 3. 13.