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

최인식님의 프로필 이미지
최인식

작성한 질문수

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

[응용] 폴더에 있는 한/글 파일을 모두 열기

스타일 찾아 다른 스타일로 바꾸는 방법 문의

해결된 질문

작성

·

405

1

안녕하세요.

수업을 듣다가(앞 5강의 정도)

당장 필요한 자동화 기능이 있어서 문의드립니다.

 

예를 들어

스타일 표1과 표2가 한 문서 안에 있을 때

파이썬으로

표1 스타일을 모두 찾아 표2 스타일로 바꾸는 방법이 있을까요?

 

도움이 될 강의 제목이나

구체적 방법을 알려 주시면 감사하겠습니다.

답변 3

1

최인식님의 프로필 이미지
최인식
질문자

감사합니다. 일코님~

적용하다가 안되는 부분이 있으면

질문드리도록 하겠습니다.

좋은 하루 되세요^^

1

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

인식님 안녕하세요?

선택영역의 스타일을 조회하고, 특정 스타일로 변경하는 함수는 아래와 같습니다.

# 스타일 조회하는 함수
def get_style():
    Act = hwp.CreateAction("Style")
    Set = Act.CreateSet()
    Act.GetDefault(Set)
    return Set.Item("Apply")  # 정수를 리턴함(0:바탕글, 1:본문, 2:개요1...)


# 스타일 변경하는 함수
def set_style(style_num):
    Act = hwp.CreateAction("Style")
    Set = Act.CreateSet()
    Act.GetDefault(Set)
    Set.SetItem("Apply", style_num)  # "개요 n"으로 변경
    Act.Execute(Set)


# 3번 스타일이 적용된 표를 찾아서
# 2번 스타일로 일괄 변경하는 코드예시
ctrl = hwp.HeadCtrl  # 컨트롤 탐색 시작.
while ctrl:  # 모든 컨트롤을 순회하면서,
    if ctrl.CtrlID == "tbl":  # 선택한 컨트롤이 "표"인 경우,
        hwp.SetPosBySet(ctrl.GetAnchorPos(0))  # 해당 위치로 이동해서
        hwp.FindCtrl()  # 해당 표 선택
        if get_style() == 3:  # 3번째 스타일이면?
            set_style(2)  # 2번째 스타일로 변경
    ctrl = ctrl.Next  # 다음 컨트롤로 이동

 

시연화면은 아래와 같습니다.

image

다소 예시가 조악하지만ㅜ
원하시는 기능은 구현하실 수 있을 것으로 생각됩니다.

 

부디 도움이 되었으면 좋겠네요.
행복한 하루 되세요^^

-1

안녕하세요, 인프런 AI 인턴이에요.

파이썬을 사용하여 표1 스타일을 표2 스타일로 바꾸는 방법은 가능합니다. 이를 위해서는 파이썬에서 문서 처리를 위한 라이브러리를 사용하면 됩니다. 예를 들면, docx 라이브러리를 사용하여 워드 문서를 다룰 수 있습니다.

docx 라이브러리를 설치한 뒤, 아래와 같은 코드를 사용하여 표1의 스타일을 찾아 표2의 스타일로 바꿀 수 있습니다.

from docx import Document

def replace_style(doc, old_style, new_style):
    for table in doc.tables:
        for row in table.rows:
            for cell in row.cells:
                if cell.style.name == old_style:
                    cell.style = new_style

doc = Document('문서이름.docx')
replace_style(doc, '표1스타일', '표2스타일')
doc.save('변경된문서이름.docx')

위 코드에서 ‘문서이름.docx’를 원하는 파일명으로 변경하고, ‘표1스타일’과 ‘표2스타일’을 해당 문서에서 실제로 사용중인 표의 스타일 이름으로 변경해주면 됩니다. 변경된 문서는 ‘변경된문서이름.docx’로 저장됩니다.

이 코드를 실행하면 해당 문서에 있는 모든 표1 스타일이 표2 스타일로 변경됩니다. 다만, 이 코드는 표의 셀 안에 텍스트만을 처리하므로, 다른 요소(이미지, 차트 등)가 포함된 경우에는 추가적인 처리가 필요할 수 있습니다.

만약 다른 파일 형식(예: 엑셀)을 사용하신다면, 해당 파일 형식에 맞는 라이브러리를 사용하면 비슷한 방식으로 작업할 수 있습니다.

언급하신 기능에 대한 더 자세한 내용과 활용 가능한 강의 제목은 직접적으로 알 수 없습니다. 하지만 파이썬 문서 처리나 파일 처리에 관한 강의들이 많이 있으니, 인프런에서 파이썬 문서 처리에 관한 강의를 검색하여 보시는 것도 도움이 될 수 있습니다.

도움이 되셨길 바라며, 추가로 궁금하신 점이 있으시면 언제든지 물어보세요!

최인식님의 프로필 이미지
최인식
질문자

상세한 설명 감사합니다만

저는 지금 파이썬을 활용한 아래아 한글 자동화 강의를 듣고 있어서

아래아 한글에서 파이썬을 사용하여 스타일을 교체하는 방법을 알려주시면 감사하겠습니다.

최인식님의 프로필 이미지
최인식

작성한 질문수

질문하기