안녕하세요
오늘은 여러개의 한글파일을 하나의 파일로 합쳐보는 프로그램을 작성해보도록 하겠습니다.
한글에 자체적으로 '문서 끼워 넣기'란 기능이 있습니다.
그러나 합칠 파일이 100개, 1000개가 넘어간다면 일일이 합치 여간 힘든일이 아니죠...
그럴 때 요긴하게 사용할 수 있는 프로그램이 되겠습니다.
먼저 합칠 한글파일은 아래와 같습니다.
이 것을 하나의 파일로 합쳐보겠습니다.
시작하기 앞서 관련 라이브러리를 불러와주고요
# -*- coding: cp949 -*-
import win32com.client as win32
import os
import fnmatch
한글 개체를 생성해주고요
hwp = win32.gencache.EnsureDispatch("HWPFrame.HwpObject")
한글파일이 들어있는 폴더를 지정을 해줍니다.
dir1="E:₩₩접수₩₩"
filename=fnmatch.filter(os.listdir(dir1),'*.hwp')
print(filename)
그리고 모든 파일을 열면서
i=0
for file in filename:
첫번째 파일은 그냥 열어주고요
if i==0:
hwp.Open(dir1+file, "HWP", "forceopen:true")
그리고 문서의 맨 마지막으로 이동해줍니다. 왜냐면 뒤에 문서를 붙여줄거니까요..
hwp.MovePos(3, 0, 0)
두번째 문서부터는 아래처럼 문서를 끼워넣어 줍니다.
else:
hwp.HAction.GetDefault("InsertFile", hwp.HParameterSet.HInsertFile.HSet);
option=hwp.HParameterSet.HInsertFile
끼워넣을 문서를 지정을 해줍니다.
option.filename = dir1+file
option.KeepSection = 1;
option.KeepCharshape = 1;
option.KeepParashape = 1;
option.KeepStyle = 1;
hwp.HAction.Execute("InsertFile", hwp.HParameterSet.HInsertFile.HSet);
똑같이 현재 문서의 마지막으로 이동합니다.
hwp.MovePos(3, 0, 0)
계속 반복해줍니다.
i=i+1
파일을 바탕화면에 저장합니다.
hwp.HAction.GetDefault("FileSaveAs_S", hwp.HParameterSet.HFileOpenSave.HSet);
option=hwp.HParameterSet.HFileOpenSave
option.Attributes = 0;
option.filename = "C:/Users/BJ/Desktop/111.hwp";
option.Format = "HWP";
hwp.HAction.Execute("FileSaveAs_S", hwp.HParameterSet.HFileOpenSave.HSet);
한글을 종료하고요
hwp.Quit()
결과파일인 111.hwp 파일을 열면
하나의 파일로 잘 합쳐져 있는 것을 보실 수 있습니다!!
# -*- coding: cp949 -*-
import win32com.client as win32
import os
import fnmatch
hwp = win32.gencache.EnsureDispatch("HWPFrame.HwpObject")
dir1="E:₩₩접수₩₩"
filename=fnmatch.filter(os.listdir(dir1),'*.hwp')
print(filename)
i=0
for file in filename:
if i==0:
hwp.Open(dir1+file, "HWP", "forceopen:true")
hwp.MovePos(3, 0, 0)
else:
hwp.HAction.GetDefault("InsertFile", hwp.HParameterSet.HInsertFile.HSet);
option=hwp.HParameterSet.HInsertFile
option.filename = dir1+file
option.KeepSection = 1;
option.KeepCharshape = 1;
option.KeepParashape = 1;
option.KeepStyle = 1;
hwp.HAction.Execute("InsertFile", hwp.HParameterSet.HInsertFile.HSet);
hwp.MovePos(3, 0, 0)
i=i+1
hwp.HAction.GetDefault("FileSaveAs_S", hwp.HParameterSet.HFileOpenSave.HSet);
option=hwp.HParameterSet.HFileOpenSave
option.Attributes = 0;
option.filename = "C:/Users/BJ/Desktop/111.hwp";
option.Format = "HWP";
hwp.HAction.Execute("FileSaveAs_S", hwp.HParameterSet.HFileOpenSave.HSet);
hwp.Quit()
'파이썬 > 한글 자동화' 카테고리의 다른 글
[파이썬] 한글파일 한자를 한글로 자동 변환하기 (2) | 2020.08.04 |
---|---|
[파이썬] 한글 양식개체 정보 엑셀로 옮기기 (1) | 2020.07.30 |
[파이썬] 한글파일 내 그림 추출하기 (0) | 2020.07.22 |
[파이썬] 한글파일을 엑셀로 옮기기 (16) | 2020.07.20 |
[파이썬] 여러 한글파일 내 전화번호 삭제하기 (0) | 2020.07.15 |