[Python]n개의 한글 파일 하나로

Jae Gyeong Lee·2023년 3월 21일
0

한글 파일 합치기 - 쪽복사

https://one-click.tistory.com/10
https://martinii.fun/413

팝업창 만들기

https://papazeros.tistory.com/3

#!/usr/bin/env python
# coding: utf-8

# In[1]:


import os
import win32com.client as win32; import win32api
from tkinter.filedialog import askopenfilename, askopenfilenames

# def 페이지이동(hwp, page):
#     hwp.HAction.GetDefault("Goto", hwp.HParameterSet.HGotoE.HSet)
#     hwp.HParameterSet.HGotoE.SetSelectionIndex = 1  # 페이지 이동
#     hwp.HParameterSet.HGotoE.HSet.SetItem("DialogResult", page)
#     hwp.HAction.Execute("Goto", hwp.HParameterSet.HGotoE.HSet)

if __name__ == '__main__':
    body_path = askopenfilename(title="취합할 보고서 메인 파일 선택",
                           initialdir=os.getcwd(),
                           filetypes=[("한글파일", "*.hwp *.hwpx")])
    file_list = askopenfilenames(title="붙여넣을 문서 선택",
                              initialdir=os.path.dirname(body_path),
                              filetypes=[("한글파일", "*.hwp *.hwpx")])

    body_a = win32.gencache.EnsureDispatch("hwpframe.hwpobject")
    body_a.XHwpWindows.Item(0).Visible = True
    body_a.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule")
    body_a.Open(body_path)
    body_a.Run("MoveDocEnd")

    attach_a = win32.gencache.EnsureDispatch("hwpframe.hwpobject")
    attach_a.XHwpWindows.Item(0).Visible = True
    attach_a.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule")

    for file_part in file_list:
        attach_a.Open(file_part)
        attach_a.Run("MoveDocBegin")

        for page in range(1, attach_a.PageCount + 1):
            attach_a.Run("CopyPage")
            body_a.Run("PastePage")
            attach_a.Run("MovePageDown")  # or 페이지이동(첨부, 페이지+1)

        attach_a.HAction.Run("FileClose")

    attach_a.Quit() #첨부할 파일 닫기

body_a.Save() #메인 파일 저장
body_a.Quit() #메인 파일 닫기

win32api.MessageBox(0, "한글 파일 합치기 완료", "작업 완료 안내창", 0) #완료 팝업
profile
안녕하세요 반갑습니다. 공부한 내용들을 기록하고 있습니다.

0개의 댓글