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

윤영준님의 프로필 이미지
윤영준

작성한 질문수

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

모든 표와 그림의 속성을 "글자처럼 취급" 으로 바꾸려면 어떻게 해야 하나요?

해결된 질문

작성

·

4.3K

1

api에 속성에서 바꿀 수 있는지 모르겠어요

 

Shape Object 안에 속성에 분명 있는 것 같은데

 

 

좋은 강의 감사합니다.

답변 2

2

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

그럼 한 단계 나아가서

모든 표와 그림의 속성을 "글자처럼 취급"으로 바꾸려면?

이것도 간단합니다.

개인적으로 가장 많이 사용하는 방법은 Ctrl을 순회하는 방법입니다.

아래 코드와 시연화면을 참고해 주시기 바랍니다.

ctrl = hwp.HeadCtrl
    while ctrl:
        if ctrl.UserDesc in ("표", "그림"):
            hwp.SetPosBySet(ctrl.GetAnchorPos(1))
            hwp.FindCtrl()
            treat_as_char()
        ctrl = ctrl.Next

image(이미지 우클릭 후 "새 탭에서 이미지 열기"를 클릭하시면 큰 이미지로 보실 수 있습니다.)

2

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

바꿀 수 있습니다.

말씀하신 대로 ShapeObject 안에 TreatAsChar속성이 있고요.

아래 코드와 시연화면을 참고하시기 바랍니다.

def treat_as_char():
    shape_object = hwp.HParameterSet.HShapeObject
    hwp.HAction.GetDefault("TablePropertyDialog", shape_object.HSet)
    shape_object.TreatAsChar = 1
    return hwp.HAction.Execute("TablePropertyDialog", shape_object.HSet)

image(이미지 우클릭 후 "새 탭에서 이미지 열기"를 선택하시면 큰 이미지로 보실 수 있습니다.)

이미지도 위와 동일한 함수로 "글자처럼 취급" 옵션을 활성화할 수 있습니다.

image(이미지 우클릭 후 "새 탭에서 이미지 열기"를 선택하시면 큰 이미지로 보실 수 있습니다.)

도움이 되었기를 바랍니다^^
행복한 하루 되세요!

 

윤영준님의 프로필 이미지
윤영준

작성한 질문수

질문하기