반응형
clapeyon님의 제보를 받고 테스트를 해봤는데
정말 문서 끼워넣기가 제대로 작동하지 않네요ㅜ
사실 저도 한/글 2022를 쓰고 있습니다.
처음에는 '이 분께서 뭔가 잘못 입력하셨겠지..' 싶었는데
테스트해보니까 정말 어떻게 해도 여백이 조절이 되지 않아서,
후다닥 포스팅을 적어봅니다.
문서 끼워넣기 대신 쪽복사를 이용한 방법입니다.
소스코드를 먼저 보여드리겠습니다.
import os
import win32com.client as win32
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__':
본문경로 = askopenfilename(title="취합보고서를 선택하세요",
initialdir=os.getcwd(),
filetypes=[("아래아한글파일", "*.hwp *.hwpx")])
첨부파일리스트 = askopenfilenames(title="붙임문서를 모두 선택하세요",
initialdir=os.path.dirname(본문경로),
filetypes=[("아래아한글파일", "*.hwp *.hwpx")])
본문 = win32.gencache.EnsureDispatch("hwpframe.hwpobject")
본문.XHwpWindows.Item(0).Visible = True
본문.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule")
본문.Open(본문경로)
본문.Run("MoveDocEnd")
첨부 = win32.gencache.EnsureDispatch("hwpframe.hwpobject")
첨부.XHwpWindows.Item(0).Visible = True
첨부.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule")
for 파일 in 첨부파일리스트:
첨부.Open(파일)
첨부.Run("MoveDocBegin")
for 페이지 in range(1, 첨부.PageCount + 1):
첨부.Run("CopyPage")
본문.Run("PastePage")
첨부.Run("MovePageDown") # or 페이지이동(첨부, 페이지+1)
첨부.HAction.Run("FileClose")
첨부.Quit()
예제파일은 아래에 첨부하였습니다.
실행화면은 아래와 같습니다.
반응형
'아래아한글 자동화 > python+hwp 중급' 카테고리의 다른 글
[inflearn QnA] 특정 서체 이외의 모든 서체 글자색 바꾸기 (0) | 2023.02.19 |
---|---|
[python+hwp] 불규칙한 데이터의 삽입 feat. [문서끼워넣기, 데이터프레임] (0) | 2023.02.09 |
[python+hwp] 파이썬+한/글로 가장 강력한 문자열 가공 프로그램 만들기 #스크립트txt를 영상자막용 srt포맷으로 변경하기 (0) | 2023.02.08 |
댓글