인프런 커뮤니티 질문&답변

최기웅님의 프로필 이미지

작성한 질문수

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

글자속성 변경하기

안녕하세요 질문있습니다.

해결된 질문

23.09.24 18:52 작성

·

435

1

선생님 덕분에 자동화에 재미를 붙이고 있습니다. ㅎ

질문이 있는데

PutFieldText 메서드를 통해 누름틀에 원하는 문자를

삽입하고 있는데

이 문자의 색상을 변경해서 넣을 수 있는 방법이 있을까요?

즉, 누름틀에 들어갈 문자를 빨간색 또는 파란색으로 변경해서

넣을 방법이 있을까요?

알려주심 감사하겠습니다. ^^

 

답변 1

1

일코님의 프로필 이미지
일코
지식공유자

2023. 09. 24. 21:24

안녕하세요?

해당 기능을 하는 함수를 하나 만들어 두셨다가 실행하시면 되겠습니다^^

image

 

1. 선택한 글자의 색을 변경하는 함수는

hwp.Run("CharShapeTextColorGreen")
# "Green" 외에도 ["Black", "Blue", "Bluish", "Green", "Red", "Violet", "White", "Yellow"] 중 택일

이렇게 실행하시면 됩니다. 대신 위 함수는 문자열이 선택되어 있어야 하므로,

 

2. 누름틀 안의 글자를 선택하는 방법

PutFieldText로 문자열 삽입하는 시점에는 해당 텍스트를 선택할 수 없지만,

그 이후 MoveToField를 한 번 더 실행하시면서 select=True 파라미터를 추가하면 해당 필드 문자열이 선택됩니다.

 

이 두 개 과정을 함수로 짜보면 아래와 같습니다.

(위 시연움짤의 코드와 같습니다.)

def set_fieldcolor(field, color):
    hwp.MoveToField(field, select=True)
    hwp.Run(f"CharShapeTextColor{color}")
    hwp.Run("Cancel")


hwp.PutFieldText("필드1", "오예")
set_fieldcolor("필드1", "Green")

hwp.PutFieldText("필드2", "따봉")
set_fieldcolor("필드2", "Blue")

hwp.PutFieldText("필드3", "야호")
set_fieldcolor("필드3", "Red")

 

도움이 되었기를 바랍니다^^

이해가 잘 안 되는 부분이 있다면 알려주시기 바랍니다.