본문 바로가기

한/글71

[QnA] (2/5) 표 생성하고, 수정하기 안녕하세요. 한글 자동화 프로그램을 공부하고 있는데 궁금한 사항이 있어 질문합니다. 특정 글자가 들어가 있는 문단을 찾아서 그 곳에 글뒤로 속성으로 표를 삽입하고 싶습니다. 1. 자동으로 표 생성시 속성을 "본문과의배치"에서 "글뒤로" 선택하여 생성할 수 있나요? 이 속성없이 생성시 문단에 삽입되면서 글자가 밀려나는 현상이 발생합니다. 2. 찾은 문단의 위치값을 HWPUNIT 값으로 알 수 있나요? 표 생성시 위치값은 HWPUNIT으로 지정해야 하는데 현재 찾은 위치의 속성은 줄,칸으로 알려주네요. 이상입니다. 이전 포스팅(인트로)에서는 특정 단락 위치에 백그라운드로 표를 삽입하는 방법을 구상해보았고, 그 이유와 대략적으로 구현해야 하는 함수 다섯 개를 짚어보았습니다. 2022.09.19 - [업무자동화.. 2022. 9. 19.
[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.
그간 잘못된 정보를 알려드려 죄송합니다. 몇 가지 오류 정정 안녕하세요? 길다면 긴 기간 동안 아래아한글 자동화를 공부하면서 유튜브 영상으로, 블로그 포스팅으로 이것저것 남겨 왔는데, 현 시점에서 수정하고 싶은 부분이 몇 개 있습니다. (일종의 포스팅 정오표 같은 것...) 읽으셔도 크게 도움 되지 않겠지만, 한 번은 정리해야겠다 싶었는데 오늘에야 포스팅으로 남깁니다. 1. "누름틀에 예약어가 있다?" - 누름틀에는 예약어가 없다. 제 첫 유튜브 영상의 오류입니다. https://youtu.be/1pC_UXhiJH8 해당 영상에 고정댓글로 달아놓기는 했는데, 누름틀에는 예약어가 없습니다. 다만, 동일한 누름틀이 문서에서 여러 개 존재하는 경우, 의도한 대로 입력되지 않을 수 있습니다. (물론 한/글 API에는 동일명의 누름틀 중 몇 번째 누름틀에 텍스트를 채울지 .. 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] 엑셀에서 줄바꿈된 텍스트를 한/글로 옮길 때 줄바꿈 유지하기 안녕하세요. 엑셀의 데이터를 한글로 옮기는 자동화 방법을 찾다가 유튜브에서 상장 만들기 컨텐츠를 보고 신세계를 경험했습니다. ^^ 그런데 그 과정 중에 엑셀에서 자동줄바꿈을 통해서 줄이 띄어져 있는 텍스트가 한글 (누름틀)로 입력이 되면 줄바꿈이 적용이 되지 않고 붙어서 입력이 되어서요. 혹시 엑셀의 줄 바꿈 편집이 그대로 한글에 엔터로 줄을 바꾼 것으로 적용되게 하는 방법이 없을까요? 번거로우시겠지만 답변 부탁드립니다. 안녕하세요? 이스케이프 문자열 차이 때문에 발생하는 간단한 문제이지만, 처음 겪을 때는 알쏭달쏭하기도 합니다. 해결방법을 먼저 알려드리면, 엑셀에서는 줄바꿈을 "\n"이라는 이스케이프 문자열로 처리합니다. 한/글에서는 줄바꿈을 "\n"이 아닌, "\r\n"으로만 인식합니다. (그 외에도.. 2022. 8. 4.
[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.
파이썬으로 아래아한글 실행하는 방법 1. python.org에서 파이썬을 다운받아 설치한다. 2. 커맨드프롬프트에서 "pip install pywin32"를 실행해서 win32com 모듈을 설치한다. 3. 파이썬을 실행하고 아래 코드를 실행한다. import win32com.client as win32 # 모듈 임포트 hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject") # 한/글 실행하기 hwp.XHwpWindows.Item(0).Visible = True # 백그라운드 숨김 해제 4. (작업을 마친 후에) 한/글을 닫고 파이썬 종료. hwp.Clear(1) # 문서 닫기(1:저장하지 않은 내용 버림) hwp.Quit() # 한/글 프로그램 종료 끝. 다음 포스팅은 파이썬으로 한/글 파일.. 2022. 5. 9.
[QnA] 한/글 자동화 코드를 짤 때, 어떤 경우에 서브파라미터셋을 사용하나요? 안녕하세요? 위와 같이 질문 주셨는데, 답변을 간단히 댓글로 달아드리기보다는 조금 상세히 설명을 드리고 싶어서 포스팅으로 남깁니다. 질문을 달아주신 포스팅은 아래에 링크로 남겨둡니다. 4. 문서여백을 파이썬으로 바꿀 수 있을까? 안녕하세요? 한/글 자동화 응용편에 보시면, 한/글에서 녹화한 스크립트 매크로와 API매뉴얼의 기본적인 액션 생성 방법 두 가지 문법을 보여드렸습니다. [파이썬-아래아한글] API매뉴얼과 스크립 martinii.fun 먼저 한/글 스크립트 중 구체적인 액션을 정의할 때 사용하는 파라미터셋의 계층에 대해 설명드리고 싶습니다. (위의 포스팅을 예로 들어 설명하겠습니다.) API 문서 중 ParameterSet Table.hwp 문서를 열어서 "여백"으로 검색해보면 97페이지에 "87.. 2022. 1. 21.