본문 바로가기
아래아한글 자동화/python+hwp 중급

[1/8] 한글프로그램 실행/종료 및 문서 열고 닫는 함수

by 일코 2022. 10. 25.

 

import win32com.client as win32


def 한글프로그램_실행(visible=True):
    hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject")  # 한/글 프로그램 실행
    hwp.XHwpWindows.Item(0).Visible = visible  # 기본값 = 백그라운드 해제
    hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule")  # 보안모듈 실행
    return hwp


def 문서열기(한글파일):
    hwp.Open(한글파일)


def 현재문서닫기():
    hwp.Clear(option=1)  # 1:문서 닫기(변경내용 버림)


def 한글프로그램_종료():
    hwp.Quit()

정의한 함수 실행해보기

한/글 프로그램을 실행하고 종료하는 함수와,

문서를 열고 닫는 간단한 함수들을 정말 간단히 정의했습니다.

굳이 한 줄짜리 메서드를 이렇게까지 함수로 만들어놓을 필요가 있나 싶기도 하지만

개인적으로는 영어에 비해 한글로 코딩해놓았을 때 코드가 잘 읽히기도 하고

아래 코드처럼 최종 프로세스가 한 눈에 들어오는 느낌이 있어

이런 방식을 선호하는 편입니다.

참고로 아래는 완성된 코드의 메인함수입니다.

from pathlib import Path
import win32com.client as win32


def 한글프로그램_실행(visible=True):...


def 문서열기(한글파일):...


def 현재문서닫기():...


def 한글프로그램_종료():...


def 그림추출(경로):...


def ctrl로_이동하기(ctrl):...


def 제목뽑기():...


def 제목폴더_만들기(title_list):...


def 이미지저장(제목함수):...


if __name__ == '__main__':
    hwp = 한글프로그램_실행()
    취합폴더 = Path(r"C:\Users\smj02\Desktop\취합문서")
    한글문서리스트 = 취합폴더.glob("*.hwp")
    for 한글문서 in 한글문서리스트:
        문서열기(한글문서)
        제목리스트, 제목함수 = 제목뽑기()
        제목폴더_만들기(제목리스트)
        이미지저장(제목함수)
        현재문서닫기()
    한글프로그램_종료()

전체적인 프로세스가 파악되시나요?

1. 한글문서 리스트에서 문서를 하나씩 열면서

2. 제목을 추출해서 하위폴더를 만들고

3. 각 폴더에 이미지를 저장합니다.

 

이어지는 포스팅부터는

이어지는 포스팅부터는

아래아한글의 다양한 메서드를 활용해서

위의 함수들을 하나씩 구현해볼 예정입니다.

준비되셨나요?

출발합시다!

댓글