본문 바로가기

한컴오피스51

파이썬으로 한/글의 용지규격과 방향을 조회할 때 현재 용지속성을 조회만 하고 싶다면? 안녕하세요 한글문서관련 프로그램을 작성하는 개발자 입니다. 우연히 한컴 개발커뮤니티에서 “현재 용지정보 가져오기 PageSetup” 관련 답변을 달아 놓으신 걸 검색 했습니다. 다름이 아니라 www.martinii.fun 위 포스팅을 조금 활용해서, 현재 용지의 사이즈와 방향(가로/세로)을 출력하는 함수를 만들어보겠습니다. 전체 코드는 아래와 같습니다. 가급적 모든 과정을 함수로 작성하였으므로, 하나씩 뜯어보시면 이해하기 쉬울 것입니다. import win32com.client as win32 용지크기 = { (210, 297): "A4", (297, 420): "A3", (257, 364): "B4", } def 한글시작(): hwp = win32.gencache... 2021. 7. 5.
hwp.Run("AutoChangeRun") 액션아이디 중 AutoChangeRun 이 카테고리는 특정 메서드나 액션아이디를 소개하고 시연하는 짤막한 글을 올리려고 한다. 우선은 파라미터셋 아이디가 필요 없는, 한 줄로 실행 가능한 명령어로 먼저 소개해보고 싶다. 첫 번째 글은 AutoChangeRun에 관한 설명인데, Action Table.hwp 문서 첫 페이지에 나온다. Description에는 단순히 "동작"이라고 되어 있는데, 정확히는 "글자판 자동 변경" 기능의 토글이다. 이게 무슨 쓸모가 있을까 싶은데, (속상하지만 정말 아무 쓸모가 없어 보인다.) 그래도 내가 입력한 파이썬 코드로 이런 부분까지 컨트롤이 가능하다는 게 신기하기는 하다. 이 옵션의 효과는 말 그대로 한/영 자동변경을 토글 한다. 옵션이 꺼진 상태에서 아래처럼 타이핑하면.. 2021. 6. 30.
[QnA]문서간 순서가 달라도 유사조항을 찾아서 비교하는 프로그램? 저는 ㅇㅇㅇ이라고 합니다. 회사에서 두개의 텍스트를 검증할 일이 빈번해서 회사원님의 유튜브를 시청하고 파이썬 쥬피터를 통해서 제업무에 적용해보았습니다. 8강 소스코드에서 예제와 동일하게 코드를 테스트 하던중 IndexError Traceback (most recent call last) in 91 for copy_statement in copy_full_text: 92 coupled_dict[difflib.SequenceMatcher(None, original_statement.split(' ', 1)[1], ---> 93 copy_statement.split(' ', 1)[1]).ratio()] = copy_statement 94 max_ratio = max(k for k, v in coupled_di.. 2021. 5. 18.
[QnA]한/글 교정부호(메모고침표) 자동삽입으로 깔끔한 주석 추가 안녕하십니까, 저는 ㅇㅇㅇㅇㅇ에 근무하고 있는 ㅇㅇㅇ이라고 합니다. 코딩 작업 중 막힌 부분이 있어 메일을 올리게 되었습니다. 현재 제가 만들고 있는 프로그램은, 문서(hwp 파일) 내에 특정 단어가 있는지 검색하고 특정 단어가 검색되면, 그 옆에 주석을 표기해주는 프로그램입니다. 예를 들어 부적절한 단어가 있다면, 그에 해당하는 적절한 좋은 용어를 제시해줌으로써 업무에 편의를 도모하려는 프로그램입니다. 현재까지는 한컴오피스 한글의 '찾아 바꾸기' 기능을 이용하여 작업하였고, 잘 작동됩니다. 현재까지의 코딩 내용은 다음과 같습니다. ``` data=[("가감","→더하고 빼기, 더하거나 빼기, 가감"), ("가건물","→임시 건물, 가건물"), ("가결의","→임시 결의"), ("가공","→영향을 미치다.. 2021. 5. 18.
[QnA] 한/글에서 녹화해 둔 매크로를 파이썬에서 변환없이 실행하는 방법은 없을까요? 안녕하세요? (요즘 PySide6 튜토리얼을 작성하면서 다시 다나까체를 사용하게 되었습니다. 저도 헷갈리네요;;; 근데 이방법 저방법 써보고 알게 된 게, 존댓말을 쓴다고 포스팅 생산성이 떨어진다거나 하지는 않는 것 같더라고요.. 하여튼) 이번 포스팅은 제목대로, 한/글에서 녹화한 매크로를 파이썬 코드로 변환하지 않고 바로 실행하는 방법이 없는지 메일로 질문 주신 분께 답변 남겨드리면서, 포스팅도 남겨봅니다. hwp.RunScriptMacro(FunctionName="OnScriptMacro_script5()", uMacroType=0, uScriptType=1) 코드는 위와 같습니다. 구체적인 사용법은 아래 남겨드리지만, 별 영양가 없으므로 안 보시면 좋겠습니다. 아래아한글에서 "Hello World".. 2021. 4. 15.
한/글 메서드별 인자 확인하는 방법(feat. ipython) FileName 과 filename 사이에서 고민하고 있는 "회사원코딩"의 수강생입니다. ^^; 다음 내용을 좀 더 상세히 알 수 있을까요? 어떻게 docstring을 통해 대소문자 점검을 할 수 있는지? 미리 어떤 인자가 파라미터로 사용할 수 있는지? 알수 있는 방법에 대해 조언 부탁드립니다. """ API문서를 한/글2010 이후로 10년간 업데이트하지 않았기 때문이기도 하고, 또다른 이유로 win32의 MakePy문제로 일부 메서드의 파라미터는 한/글 내부 스크립트와 대소문자에 차이가 생긴다. FileName이 파이썬에서는 filename으로 바뀐다든지 하는 식이다. 다행히 이런 경우는 "어느 파라미터가 존재하지 않는다"는 오류메시지가 나오고, docstring을 통해 대소문자 점검을 해 주면 된다.. 2021. 1. 27.
[교육업무자동화6/7] 청구서자동화6(pyinstaller로 배포하기) 지난 포스팅은... [교육업무자동화5/10] 청구서자동화5(개선할 부분 찾아보기) #중급 지난 포스팅은... [교육업무자동화4/10] 청구서자동화4(청구서 마무리하기) 지난 포스팅은... [교육업무자동화3/10] 청구서자동화3(파이썬으로 엑셀 열어서 값 얻기) 지난 포스팅은... [교육업무자동 www.martinii.fun 지난 시간에 몇 가지 오류가능성을 보완한 최종 코드는 아래와 같았다. """ 누름틀이 삽입된 1페이지짜리 한/글 파일을 엑셀파일 행 갯수만큼 복사하고, 각각의 누름틀 안에다 엑셀파일 각 칼럼의 값을 입력하는 프로그램. 실행파일과 한/글 파일, 엑셀파일 하나씩을 같은 폴더 안에 두면 GUI창이 뜨지 않는다. """ import os from tkinter import Tk from tk.. 2021. 1. 26.
[교육업무자동화5/7] 청구서자동화5(개선할 부분 찾아보기) #중급 지난 포스팅은... [교육업무자동화4/10] 청구서자동화4(청구서 마무리하기) 지난 포스팅은... [교육업무자동화3/10] 청구서자동화3(파이썬으로 엑셀 열어서 값 얻기) 지난 포스팅은... [교육업무자동화2/10] 청구서자동화2(필드에 텍스트 자동입력) 지난 포스팅은... [교육업 www.martinii.fun 이번 포스팅에서는 다른 사용자들과 공유할 수 있게 코드를 pyinstaller로 컴파일하기 전에 보다 일반적인 상황에서도 코드가 실행될 수 있게, 예외처리 및 보완을 해볼 예정이다. 각종 오류를 방지하기 위해 파이썬 문법이 다소 가미되며, 회사원 수준에서는 "어렵다"고 느낄 수 있다. 아래의 코딩 과정을 이해하는 것이 필수는 아니며, 완성된 코드가 이런 식으로 동작하는구나 하는 맥락만 짚고 넘어.. 2021. 1. 25.
[교육업무자동화4/7] 청구서자동화4(청구서 마무리하기) 지난 포스팅은... [교육업무자동화3/10] 청구서자동화3(파이썬으로 엑셀 열어서 값 얻기) 지난 포스팅은... [교육업무자동화2/10] 청구서자동화2(필드에 텍스트 자동입력) 지난 포스팅은... [교육업무자동화1/10] 청구서자동화1(누름틀 다루기) (전략) 우리 ㅇㅇㅇㅇㅇㅇ협회 교육운영팀은 www.martinii.fun 직전 포스팅에서는 100개의 text_list를 엑셀에서 불러와서 차례대로 한/글 문서에 넣는 과정을 알아보았다. 이번 포스팅에서는 두 가지를 설명할 예정이다. 1. HWP문서를 PDF로 저장하는 코드 2. 쪽복사, 쪽붙여넣기 기능(한/글2018부터 추가된 것으로 추정)을 이용해 100쪽짜리 청구서모음.hwp를 만드는 코드 그 전에, 튜토리얼 따라하기용으로 청구서 HWP파일과 데이터소.. 2021. 1. 22.