본문 바로가기

업무자동화150

한/글 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.
[교육운영업무 자동화] 청구서, 영수증 및 수료증 자동발급 개 요 이번에 알려드릴 파이썬-한/글 자동화 주제는, 교육운영부서에서 흔히들 가장 시간을 많이 잡아먹는 막중3종 업무세트인 "교육비 청구서, 납입영수증 및 수료증 발급"이다. 본 포스팅에 사용된 자료는 실제 자동화를 의뢰했던 ㅇㅇ협회 교육운영팀 자료를 모티브로 하였으며, 모자이크 등을 통해 사명이나 주소, 개인정보 등을 가리기도 하였지만, 첨부하는 hwp파일 또한 포스팅에 맞게 경미한 수정 및 단순화작업을 거친 자료임을 먼저 밝힌다. 이메일을 주고받으면서, 위 협회(이하 "협회"라 칭함) 담당자에게 해당 업무를 자동화하지 못한 이유를 물었는데, "비용이 크기 때문"이라고 했다. 필자가 의외라고 생각했던 점은, 의뢰내용 모두 아주 간단한 스크립트 매크로 수준에서 자동화할 수 있는, 정말 단순한 업무들이었다.. 2020. 12. 27.
현재 용지속성을 조회만 하고 싶다면? 안녕하세요 한글문서관련 프로그램을 작성하는 개발자 입니다. 우연히 한컴 개발커뮤니티에서 “현재 용지정보 가져오기 PageSetup” 관련 답변을 달아 놓으신 걸 검색 했습니다. 다름이 아니라 알려 주신대로 하니 특정파일(AAA.hwp)를 열고 하면 ‘0값만 나옵니다. 아래 코드좀 봐주실 수 있으신가요? C#으로 되어 있습니다. AxHwpCtrl ax03 = new AxHwpCtrl(); ax03.CreateControl(); ax03.RegisterModule("FilePathCheckDLL", "FilePathCheckerModuleExample"); ax03.Clear(); ax03.Open(@"AAA.hwp"); HWPCONTROLLib.HwpAction hwpact = (HWPCONTROLLib... 2020. 12. 21.
[5/5, HwpEqn] 수식을 png이미지와 MathML, LaTeX로 내보내기 지난 포스팅은... [4/5, HwpEqn] 수식문자열로 수식 만드는 방법 지난 포스팅은... [3/5, HwpEqn] 컨트롤 탐색방법(feat. 파이썬) 지난 포스팅은... [2/5, HwpEqn] HWP문서 수식을 텍스트로 추출하는 방법 (1) 안녕하세요 ~ 저는 유튜브 회사원코딩 구독자입니다. 올려주신 www.martinii.fun 지난 포스팅에서는 (다소 간략히) 미리 저장해놓은 한/글 수식 문자열을 가지고 수식을 만드는 과정을 보여드렸다. 강조하지는 않았지만, 수식 문자열만 가지고 수식을 생성할 때 맞닥뜨리는, 저품질의 폰트 해결방법이 들어가 있으니, 필요할 때 참고하시기 바란다. 이번 포스팅에서는 한/글의 수식 전부를 이미지(배경투명 png나 흰배경의 gif포맷)로, 또는 mml(MathML).. 2020. 12. 20.
[3/5, HwpEqn] 컨트롤 탐색방법(feat. 파이썬) 지난 포스팅은... [2/5, HwpEqn] HWP문서 수식을 텍스트로 추출하는 방법 (1) 안녕하세요 ~ 저는 유튜브 회사원코딩 구독자입니다. 올려주신 영상들 잘 시청하고 있습니다. 문의드릴 사항으로는 한글 파일을 이미지로 변환하여 저장하고, 한글파일내의 텍스트의 위치 www.martinii.fun 지난 포스팅에서는 수식을 선택해놓은 상태에서, 어떻게 하면 수식의 텍스트를 추출할 수 있는지를 보여주었다. 파이썬으로 해당 텍스트를 가져오기만 하면, 그 다음은 LaTeX로 변환해서 저장하든, 웹에 업로드를 하든 자유롭게 활용할 수 있을 것이기 때문이다. 그러면 이번 포스팅에서는, 추출하기 전에 수식을 차례로 선택하는 과정을 파이썬 코드로 진행해 보겠다. 지난 포스팅에서 언급한 바와 같이, GetAnchor.. 2020. 12. 18.