본문 바로가기

한컴오피스51

[교육업무자동화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.
[교육업무자동화2/7] 청구서자동화2(필드에 텍스트 자동입력) 지난 포스팅은... [교육업무자동화1/10] 청구서자동화1(누름틀 다루기) (전략) 우리 ㅇㅇㅇㅇㅇㅇ협회 교육운영팀은 20XX년부터 고용노동부 국가인적자원개발 컨소시엄 사업으로 전환하여 비회원사까지 대상으로 교육을 개최할 수 있게 되어 매우 큰 자긍심을 가 www.martinii.fun 이번 포스팅의 내용은 지난 포스팅에서 언급한 것처럼, 교육생 정보가 담긴 엑셀파일 등에서 각 행의 값들을 해당하는 누름틀(필드)에 차례로 삽입하는 과정을 자세히 설명하고자 한다. 1. 파이썬을 통해 한/글을 실행해보자. 이 부분은 솔직하게 먼저 한 가지 말씀드리고 넘어가야겠다. 필자는 기존에 열려 있는 한글창을 파이썬으로 연결하는 방법을 모른다. pywinauto를 통해 기존에 열린 창의 GUI를 제어하는 방법은 있지만,.. 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.
HWP여백조정 후 이미지 너비/높이를 폭에 맞게 일괄조정하는 방법 HWP포맷을 사용하는 소규모의 출판사가 의외로 많다는 걸 최근들어 알게 되었다. 그도 그럴 것이, 인디자인이나 퍼블리셔 같은 프로그램 없이도 직접 책을 출판하고 SNS로 홍보할 수 있는 시대가 열렸다. 이 부분은 다음에 더 이야기하기로 하고, 수백 페이지 규모의 HWP문서를 만질 때는, 특히 이미지가 많은 문서라면 정말 고생하는 경우가 있는데, 그 중 최고랄 만한 작업은 바로 "용지를 바꾸거나 여백을 변경했을 때"이다. ㄷㄷㄷㄷ 이러면 표 뿐만 아니라 각각의 이미지 전체를 문서 폭 안으로 우겨넣거나 늘려야 하는데, (만약 이미지 너비가 "고정값"이 아니면 더 고생한다. 예를 들어 이미지 너비가 "쪽 100%"로 설정되어 있었는데 용지의 좌우여백을 변경해버리면 폭만 자동으로 줄어들어버려서 그림이 좌우로 쪼.. 2021. 1. 7.
[교육업무자동화1/7] 청구서자동화1(누름틀 다루기) (전략) 우리 ㅇㅇㅇㅇㅇㅇ협회 교육운영팀은 20XX년부터 고용노동부 국가인적자원개발 컨소시엄 사업으로 전환하여 비회원사까지 대상으로 교육을 개최할 수 있게 되어 매우 큰 자긍심을 가지고 교육 준비 및 개최를 하고 있습니다. 다만, 교육접수안내, 개별문의 응답 등 일일이 전달을 드리거나 문의응답하는 데 상당히 어려움이 있는 상황입니다. 2~3명의 인원이 사업계획 작성 및 교육개발, 교육운영, 비용정산, 회계감사, 홍보, 수요조사, 운영위원회 등 독립교육센터와 유사한 수준으로 모든 단계의 업무를 직접 진행하고 있습니다. 아울러 업계 교육인원이 많지 않아 관련 자동화 프로그램 개발은 어렵기에, 교육비 청구서, 납부확인증, 수료증을 비롯 각종 문서도 "한/글"로 수작업 중입니다. 우리 팀이 있기 전에는 회원사만.. 2020. 12. 29.