본문 바로가기

업무자동화150

파이썬으로 한/글의 용지규격과 방향을 조회할 때 현재 용지속성을 조회만 하고 싶다면? 안녕하세요 한글문서관련 프로그램을 작성하는 개발자 입니다. 우연히 한컴 개발커뮤니티에서 “현재 용지정보 가져오기 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.
[pywin32]파이썬코드 한 줄로 엑셀 표 자동생성 들어가며, 파이썬에는 엑셀파일이나 엑셀프로그램을 다루는 다양한 모듈이 있습니다. 엑셀파일을 다루는 모듈 중에는 pandas나 openpyxl이 많이 쓰이고 마이크로소프트 엑셀 프로그램을 직접 다루는 프로그램으로는 xlwings나 pywin32가 많이 쓰이죠. 저는 개인적으로 pywin32 모듈을 가장 선호합니다. 그 이유는 여러 가지가 있겠지만, 우선 DRM보안에 걸리지 않고, 다른 모듈에 비해 가장 VBA와 비슷한 명령어로 사용할 수 있어서입니다. 엑셀의 매크로 녹화를 통해 VBA코드를 복사한 후 파이썬으로 옮기면 대부분 큰 수정 없이 사용할 수 있거든요. 일례로 이번 시간에는, 파이썬으로 빈 엑셀파일을 열고 1행에 칼럼제목을 적은 후에, 빈 표를 생성하는 코드를 파이썬으로 작성하는 과정을 보여드리려고.. 2021. 6. 24.
한/글에 누름틀이 있다면 엑셀에는 이것이 있다!? 안녕하세요? 이번 포스팅은 엑셀의 "이름지정"에 대해 알려드리려고 합니다. 제 유튜브채널이나 블로그에 문의 주시는 다양한 댓글 중 가장 빈번한 테마는 역시 "엑셀에서 한/글로 데이터 이동"입니다. 혹은 "엑셀에서 데이터 추출 후 파이썬에서 가공하고 한/글 보고서에 삽입하여 완성" 입니다. 재미있는 점은, 댓글 주신 분들 대부분이 데이터를 잘 다루시고, 구조화에 익숙하셔서 그런지 엑셀 소스파일을 굉장히 깔끔하게 정리해 두십니다. 예를 들면, 이런 서식이라든지, 이같은 서식이라든지, 이를테면 엑셀파일을 일종의 DB처럼 활용하고 있는 상태죠. 그런데 항상 위와 같은 케이스는 아니고요, 어떤 분은 데이터를 이런 식으로도 활용하고 계십니다. 데이터 특성에 따른 차이일 수 있지만, 이런 데이터를 구조화해서 한/글 .. 2021. 6. 6.
[QnA]각각의 페이지를 한 개의 hwp파일로 저장하고, 제목은 표 안에서 추출하는 코드를 작성/컴파일해서 실행파일 보내주세요. 선생님!! 안녕하세요~~ 오늘 유튜브 영상보구 문의드리는 구독자(오늘 구독 시작^^)입니다. 우선 바쁘실텐데 이렇게 도움을 주셔서 감사합니다. 말씀드린 것처럼.. 다음주 정도 정리하고 있는 한글파일을 기준으로 각 페이지별로 나누어 파일 따로 저장해야 하는 일을 해야 합니다. 한글 내에서의 기능으로 처리한다면 결국 페이지만큼 수작업(노가다)를 해야하는 상황이라 유튜브를 검색하던 중 딱 선생님의 처리 방법이 유일한 해결책일거라는 생각이 들더라구요~~ 단... 파이썬? 이런 코딩작업은 한번도 해본적이 없고... 제가 배워서 하기에는 기약도 없을것 같아..우선 프로그램이 없더라도 코딩된 어떤 실행파일을 실행하면 원하는 결과만 얻도록 도움을 부탁드립니다^^ 제가 작업중인 샘플 한글 파일을 첨부와 같이 송부드리고... 2021. 5. 19.
[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.
요즘 자동화는 라떼의 자동화가 아니다. 필자 성격상 SNS나 웹 커뮤니티에 적극적으로 참여하지는 않는데, 페이스북의 생활코딩이나 기타 IT관련 커뮤니티에 관심가는 피드는 종종 챙겨보는 편이다. 가끔씩 댓글에, "업무자동화, 머신러닝은 최근 기술이 아니다." "수십년 전에 만들어졌고, 옛날부터 유행했다" 는 글이 간혹 보인다. 대개는 부정적인 견해다. 그리고 일부는 맞는 말이다. 프린터와 스캐너의 도입을 우리는 "OA자동화"라고 불렀고, 우리 세대들은 취업하기 전부터 워드, 엑셀, 아래아한글을 배워서 "사무자동화" 관련 자격증을 앞다투어 취득했다. 근데, 1차적인 "자동화"는 "수작업"의 전산화를 일컫는 용어였고, 2021년, 지금의 RPA와 AI를 포함한 각종 머신러닝 기술들을 여전히 그 "자동화"와 같다고 칭하기엔 개념이 너무 많이 달라지지.. 2021. 2. 6.