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) #완료 팝업