본문 바로가기

아래아한글139

[QnA] (1/5) 특정단어 포함 문단 뒤에 표 깔기-인트로 안녕하세요. 한글 자동화 프로그램을 공부하고 있는데 궁금한 사항이 있어 질문합니다. 특정 글자가 들어가 있는 문단을 찾아서 그 곳에 글뒤로 속성으로 표를 삽입하고 싶습니다. 1. 자동으로 표 생성시 속성을 "본문과의배치"에서 "글뒤로" 선택하여 생성할 수 있나요? 이 속성없이 생성시 문단에 삽입되면서 글자가 밀려나는 현상이 발생합니다. 2. 찾은 문단의 위치값을 HWPUNIT 값으로 알 수 있나요? 표 생성시 위치값은 HWPUNIT으로 지정해야 하는데 현재 찾은 위치의 속성은 줄,칸으로 알려주네요. 이상입니다. 한/글 개발자 커뮤니티에 재미있는 질문이 있어 블로그에서 다뤄보겠습니다. 이를테면 이런 예제를 말씀하시는 것 같아요. 아래와 같은 문서가 있을 때 특정 단어가 들어가는 문단에 다음과 같이 백그라운.. 2022. 9. 19.
SetPos 대신 SetPosBySet을 쓰면 훨씬 유용한 경우 : GetAnchorPos와 연계할 때 컨트롤코드를 써서 아래아한글 보고서 자동화를 할 때 십중팔구 사용하는 메서드가 있습니다. 해당 컨트롤의 위치를 찾아내는 GetAnchorPos, 그리고 찾아낸 위치로 찾아가는 SetPos가 대표적이죠. 이전 예제에서 사용한 GetAnchorPos 메서드 예제 일부를 먼저 살펴보겠습니다. def 문자열삽입(문자열): hwp.HAction.GetDefault("InsertText", hwp.HParameterSet.HInsertText.HSet) hwp.HParameterSet.HInsertText.Text = 문자열 hwp.HAction.Execute("InsertText", hwp.HParameterSet.HInsertText.HSet) caption_list = [ "구름 낀 하늘", "푸른 하늘", .. 2022. 9. 15.
아래아한글 문서의 위치(좌표)체계 아래아한글 문서의 위치체계 아래아한글 문서에는 명확하게 위치체계가 존재하고, 비어있는 공간이 아닌 이상 좌표(?)가 매겨져 있습니다. 마치 3차원 좌표계(x, y, z)처럼 말이죠. 이 글에서 사용하는 "좌표"라는 용어는 제가 편의상 임의로 붙였으며, API의 공식 명칭은 아님을 밝힙니다. 기존에 작성했던 대부분의 포스팅에서는 "누름틀"이나 "필드"를 이용해서 작업을 자동화했기 때문에 굳이 좌표를 계산하거나 추출해야 할 필요가 없었습니다. 그런데 아래 예제 같은 경우에는 좌표개념을 사용하면 작업이 훨씬 수월해집니다. 2022.09.06 - [업무자동화/파이썬-아래아한글 자동화 기초] - [QnA] 한글에서 특정 글꼴 찾아 태그 붙이기 [QnA] 한글에서 특정 글꼴 찾아 태그 붙이기 안녕하세요. 우연히 유.. 2022. 9. 8.
그간 잘못된 정보를 알려드려 죄송합니다. 몇 가지 오류 정정 안녕하세요? 길다면 긴 기간 동안 아래아한글 자동화를 공부하면서 유튜브 영상으로, 블로그 포스팅으로 이것저것 남겨 왔는데, 현 시점에서 수정하고 싶은 부분이 몇 개 있습니다. (일종의 포스팅 정오표 같은 것...) 읽으셔도 크게 도움 되지 않겠지만, 한 번은 정리해야겠다 싶었는데 오늘에야 포스팅으로 남깁니다. 1. "누름틀에 예약어가 있다?" - 누름틀에는 예약어가 없다. 제 첫 유튜브 영상의 오류입니다. https://youtu.be/1pC_UXhiJH8 해당 영상에 고정댓글로 달아놓기는 했는데, 누름틀에는 예약어가 없습니다. 다만, 동일한 누름틀이 문서에서 여러 개 존재하는 경우, 의도한 대로 입력되지 않을 수 있습니다. (물론 한/글 API에는 동일명의 누름틀 중 몇 번째 누름틀에 텍스트를 채울지 .. 2022. 8. 31.
[QnA] while문으로 #번째 그림을 삭제하는 방법 안녕하세요 화사원코딩님..! 파이썬 한/글에 대해서는 거의 국내.. 유일하신 듯 합니다. 덕분에 많이 공부하고 있습니다. 감사합니다. 오늘 방명록 남긴건 다름이 아니라 한/글 파일 중에서도 그림을 특정해서 지우고 싶은데 그 방법을 모르겠어서 입니다. ㅠ HeadCtrl 사용해서 while문 돌려서 순차적으로 찾는 건 되는데, 파일이 300페이지 이상에, 그림도 너무 많아서 while문 사용해서 특정하는 건 너무 비효율 + 어려울 것 같구, 저는 그림을 "특정"하고 싶거든요..? 누름틀을 사용해서 누름틀 아이디를 먼저 부여한 다음에 거기다가 그림을 얹어놓고 그 부분에 있는 그림만 삭제하고 새로운 그림을 넣고 싶습니다. 그래서 MoveToFiled하고 FindCtrl하고 DeleteCtrl(Delete도 해.. 2022. 8. 31.
[QnA] 문서 내의 특정 그림을 삭제하는 방법(누름틀) 안녕하세요 화사원코딩님..! 파이썬 한/글에 대해서는 거의 국내.. 유일하신 듯 합니다. 덕분에 많이 공부하고 있습니다. 감사합니다. 오늘 방명록 남긴건 다름이 아니라 한/글 파일 중에서도 그림을 특정해서 지우고 싶은데 그 방법을 모르겠어서 입니다. ㅠ HeadCtrl 사용해서 while문 돌려서 순차적으로 찾는 건 되는데, 파일이 300페이지 이상에, 그림도 너무 많아서 while문 사용해서 특정하는 건 너무 비효율 + 어려울 것 같구, 저는 그림을 "특정"하고 싶거든요..? 누름틀을 사용해서 누름틀 아이디를 먼저 부여한 다음에 거기다가 그림을 얹어놓고 그 부분에 있는 그림만 삭제하고 새로운 그림을 넣고 싶습니다. 그래서 MoveToFiled하고 FindCtrl하고 DeleteCtrl(Delete도 해.. 2022. 8. 31.
특정 페이지로 찾아가는 함수 만들기 아래아한글 API 중 GoTo라는 간편한 메서드가 있습니다. 쪽, 구역, 줄, 스타일, 조판부호 및 책갈피 등 다섯 개의 특성을 통해 인덱스를 입력하면 해당 라인으로 이동할 수 있는 간편한 대화상자를 제공하는데요. 사용방법은 대략 아래와 같습니다. hwp.HAction.GetDefault("Goto", hwp.HParameterSet.HGotoE.HSet) # 메서드 초기화 hwp.HParameterSet.HGotoE.SetSelectionIndex = 1 # "쪽"으로 찾아가기 설정 hwp.HParameterSet.HGotoE.HSet.SetItem("DialogResult", 3) # 3쪽으로 이동 hwp.HAction.Execute("Goto", hwp.HParameterSet.HGotoE.HSet.. 2022. 8. 7.
[QnA] Open메서드 실행시 오류:"매개변수의 개수가 잘못되었습니다." 해결법 안녕하세요. 제가 찾던 게 바로 이건데 딱 있어서 너무 놀랐습니다. 따라해보니까 이런 에러가 뜨는데 원인과 해결책을 알려주시면 감사하겠습니다. hwp.Open('c:/users/xxxxxxx/Documents/awards.hwp') Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2963, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "", line 1, in hwp.Open('c:/users/xxxxxxx/Documents/awards.hwp') File ".. 2022. 8. 2.
[QnA] 표 내의 일부 테두리를 점선으로 바꾸는 법 솔직히 저도 모든 파라미터셋을 외우는 게 아니어서, 이런 질문을 받으면 직접 실행해봅니다. 아래와 같은 과정으로요. 같이 한 번 해 봅시다. 1. 파이썬으로 한/글을 연다. 2. 스크립트매크로를 녹화해본다. 3. 파이썬 코드로 변환한 후 실행해본다. 4. 되면 끝. 안되면? 5. 액션과 파라미터셋을 검색해서 답을 찾는다. (오래 걸림ㅜ) 1. 파이썬으로 한/글 열기 import win32com.client as win32 hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject") hwp.XHwpWindows.Item(0).Visible = True 2. 스크립트 매크로 녹화를 누른 후 테두리를 점선으로 바꿔본다. 표를 하나 생성해보고, 원하는 셀선택한 시점 이.. 2022. 5. 13.