본문 바로가기

한/글71

[교육업무자동화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.
[교육업무자동화3/7] 청구서자동화3(파이썬으로 엑셀 열어서 값 얻기) 지난 포스팅은... [교육업무자동화2/10] 청구서자동화2(필드에 텍스트 자동입력) 지난 포스팅은... [교육업무자동화1/10] 청구서자동화1(누름틀 다루기) (전략) 우리 ㅇㅇㅇㅇㅇㅇ협회 교육운영팀은 20XX년부터 고용노동부 국가인적자원개발 컨소시엄 사업으로 전환하여 비회원 www.martinii.fun 지난 시간에는 파이썬으로 한/글 파일을 열고 누름틀 목록을 가져오거나, 누름틀에 값을 입력하는 방법을 알아보았다. 그 과정에서 파이썬의 기본자료형인 list와, 기초문법 중 하나인 for문, 그리고 enumerate 등을 사용해서 field_list와 text_list를 1:1로 매칭하여 대입하는 방법을 사용해보았다. 지난 과정이 이해되었다면, 이번 포스팅은 굉장히 단순하게 느껴질 것이다. 왜냐면, 엑.. 2021. 1. 22.
커뮤니티질문 : GetText()에서 표, 글상자에서 텍스트 읽어오기? HwpCtrl.InitScan(0, 2); alert(HwpCtrl.GetText()); HwpCtrl.ReleaseScan(); 위 코드 내용은 한컴설명서에 있는 내용 입니다. 그런데 저렇게 하면 표, 글상자에 있는 내용은 읽어 오기 못 합니다. 특정 문단에 있는 내용을 읽어 싶은데 일반 글자는 읽어 오는데 표, 글상자에 있는 내용은 읽어오지 못 합니다. 고수님들 조언을 부탁 합니다. https://www.hancom.com/board/devcommView.do?board_seq=48&artcl_seq=10844&pageInfo.page=&search_text= www.hancom.com API매뉴얼에 씌어있는 파라미터(대부분 숫자)들은, 신기하게도 조합이 가능하며 (파이썬의 경우) 조합하는 방법은 일.. 2021. 1. 22.
hwp.GetFieldList() # 필드를 다룰 때 꼭 알아야 하는 메서드 응용편에서 튜토리얼을 진행하는 중에 기본 메서드를 자세하게 다루다 보면 의식의 흐름이 툭툭 끊길 수 있어, 이런 식으로 메서드 설명을 기본편에 하나씩 써놓고 참고링크를 달아놓으려고 한다. 1. hwp.GetFieldList() 란? hwp.GetFieldList()는 한/글 컨트롤 오브젝트(HwpCtrl Object)의 메서드 중 하나로 문서에 존재하는 필드(혹은 누름틀)의 목록을 구하는 메서드이다. 개인적으로 한/글 API가 참 친절하다고 느껴지는 부분은 매개변수 파트인데, 필드목록을 구하는 이 간단한 메서드에도 두 개 인자(number, option)에 각각 3개씩의 매개변수가 들어가 있어 누름틀을 상세하게 다룰 수 있다. 2. Number 인자 Number 인자(대소문자 구분)에 들어갈 수 있는 매.. 2021. 1. 22.
한/글 2020 최신 업데이트로도 고쳐지지 않은 API버그 탭을 여러 개 열어놓은 한글창에서 hwp.XHwpDocuments.Item(0).Close(isDirty=False) 명령을 실행하면, 해당아이템(첫 번째 탭)이 닫히는 게 아니라 현재 활성화된 탭이 닫힌다. 이 버그 때문에, 특정 탭을 닫고 싶을 땐 hwp.XHwpDocuments.Item(1).SetActive_XHwpDocument() # 닫고 싶은 탭을 활성화한 후에 hwp.Close(isTab=False) # 닫아야 한다. 불편할 정도는 아니지만 계속 신경쓰인다;; 2021. 1. 14.
문서 안의 컨트롤을 차례대로 선택하는 가장 간편한 방법 먼저, 아래아한글에서 "한글컨트롤", 혹은 "컨트롤"이라 함은, 일반적인 문자열 외에 삽입되는 그림, 표, 벡터이미지, 미주각주나 계산식 등의 "오브젝트"를 뜻하는 용어이며, API매뉴얼 예제에 컨트롤을 선택하는 예제코드가 몇 개 들어있다. 정확히 의미를 몰라도 되니, 아래 코드를 가볍게 한 번 읽어보자. 1. Visual Basic으로 문서 중의 각주를 카운트하는 코드 Dim ctrlcode As CtrlCode cnt = 0 Set ctrlcode = HwpCtrl.HeadCtrl While Not ctrl Is Nothing If ctrlcode.CtrlID = "fn" Then cnt = cnt + 1 End If Set ctrlcode = ctrlcode.Next Wend MsgBox cnt 2.. 2021. 1. 13.
[커뮤니티질문] HWP문서의 특정 셀에 색을 넣고 싶은데요. 오랜만에 한글과컴퓨터 개발자 커뮤니티에 들어가 보았다. 개발자 커뮤니티는 아래아한글 정품유저에 한해, 공개된 질의응답 및 노하우 공유 게시판이다. 예전에는 한컴 개발자 분이 직접 들르셔서 개발진 입장에서 상세한 답변을 거의 모든 질문에 남겨주셨는데, 현재는 유저끼리 종종 질답을 남기는 아주 소소한 게시판이 되었다.. 제일 최근에 올라온 질문을 클릭해보니, // c#에서 선택된 셀에 색을 넣고 싶은데요. var pvact = (HWPCONTROLLib.DHwpAction)axHwpCtrl1.CreateAction("BorderFill"); var pvset = (HWPCONTROLLib.DHwpParameterSet)pvact.CreateSet(); pvset.SetItem("Type",1); pvset... 2021. 1. 9.
[교육업무자동화1/7] 청구서자동화1(누름틀 다루기) (전략) 우리 ㅇㅇㅇㅇㅇㅇ협회 교육운영팀은 20XX년부터 고용노동부 국가인적자원개발 컨소시엄 사업으로 전환하여 비회원사까지 대상으로 교육을 개최할 수 있게 되어 매우 큰 자긍심을 가지고 교육 준비 및 개최를 하고 있습니다. 다만, 교육접수안내, 개별문의 응답 등 일일이 전달을 드리거나 문의응답하는 데 상당히 어려움이 있는 상황입니다. 2~3명의 인원이 사업계획 작성 및 교육개발, 교육운영, 비용정산, 회계감사, 홍보, 수요조사, 운영위원회 등 독립교육센터와 유사한 수준으로 모든 단계의 업무를 직접 진행하고 있습니다. 아울러 업계 교육인원이 많지 않아 관련 자동화 프로그램 개발은 어렵기에, 교육비 청구서, 납부확인증, 수료증을 비롯 각종 문서도 "한/글"로 수작업 중입니다. 우리 팀이 있기 전에는 회원사만.. 2020. 12. 29.
[교육운영업무 자동화] 청구서, 영수증 및 수료증 자동발급 개 요 이번에 알려드릴 파이썬-한/글 자동화 주제는, 교육운영부서에서 흔히들 가장 시간을 많이 잡아먹는 막중3종 업무세트인 "교육비 청구서, 납입영수증 및 수료증 발급"이다. 본 포스팅에 사용된 자료는 실제 자동화를 의뢰했던 ㅇㅇ협회 교육운영팀 자료를 모티브로 하였으며, 모자이크 등을 통해 사명이나 주소, 개인정보 등을 가리기도 하였지만, 첨부하는 hwp파일 또한 포스팅에 맞게 경미한 수정 및 단순화작업을 거친 자료임을 먼저 밝힌다. 이메일을 주고받으면서, 위 협회(이하 "협회"라 칭함) 담당자에게 해당 업무를 자동화하지 못한 이유를 물었는데, "비용이 크기 때문"이라고 했다. 필자가 의외라고 생각했던 점은, 의뢰내용 모두 아주 간단한 스크립트 매크로 수준에서 자동화할 수 있는, 정말 단순한 업무들이었다.. 2020. 12. 27.