인프런 커뮤니티 질문&답변
표 병합하기 관련
작성
·
97
0
각 팀에서 받은 한글파일에는 표만 있어요.
그 표를 일단 하나의 파일로 합치는데는 성공했어요.
그런데 그 표들이 떨어져 있어서 하나로 병합하고 싶은데
찾아보니까 강사님이 유튜브에도 올려놓은 걸 찾았어요
아래와 같은 코드였어요.
while True:
if not hwp.TableMergeTable():
break그런데 이걸 그냥 만들어진 코드 마지막에 붙여넣기만 하면 되는거 아닌가요?
잘 안되어서 질문드립니다.
제가 만든 코드는
import win32com.client as win32
import tkinter as tk
from tkinter import filedialog
# 1. 파일 선택 팝업
root = tk.Tk()
root.withdraw() # Tk 창 숨기기
file_paths = filedialog.askopenfilenames(
title="병합할 한글 파일을 모두 선택하세요",
filetypes=[("HWP/HWPX Files", "*.hwp *.hwpx")]
)
if not file_paths:
print("파일을 선택하지 않았습니다. 프로그램을 종료합니다.")
exit()
# 2. 저장 위치 선택 팝업
save_path = filedialog.asksaveasfilename(
title="합쳐진 파일을 어디에 저장할지 선택하세요",
defaultextension=".hwp",
filetypes=[("HWP Files", "*.hwp"), ("HWPX Files", "*.hwpx")]
)
if not save_path:
print("저장 경로를 선택하지 않았습니다. 프로그램을 종료합니다.")
exit()
print(f"선택한 파일들: {file_paths}")
print(f"저장 경로: {save_path}")
# 3. 한글 오토메이션으로 파일 병합
hwp = win32.gencache.EnsureDispatch("HWPFrame.HwpObject")
hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule")
hwp.XHwpWindows.Item(0).Visible = True
# 새 문서 생성
hwp.Run("FileNew")
for idx, file_path in enumerate(file_paths):
try:
# 첫 파일은 그냥 열려 있으니 건너뜀
if idx == 0:
hwp.Open(file_path)
else:
# 커서를 문서 끝으로 이동
hwp.Run("move_doc_end=True")
# 파일 삽입
hwp.HAction.GetDefault("InsertFile", hwp.HParameterSet.HInsertFile.HSet)
hwp.HParameterSet.HInsertFile.filename = file_path
hwp.HParameterSet.HInsertFile.KeepSection = 0 # 구역 유지 안 함
hwp.HAction.Execute("InsertFile", hwp.HParameterSet.HInsertFile.HSet)
except Exception as e:
print(f"[에러] {file_path} 병합 실패: {e}")
# 4. 저장
hwp.SaveAs(save_path)
print(f"모든 파일이 {save_path}로 성공적으로 병합되었습니다!")
hwp.Quit()입니다. (사실 이것도 ai에게 만들어달라고 해서 만든거에요. 부끄럽습니다...)
위 코드에서 표를 병합하는 코드를 넣으려면 어디에 어떻게 넣어야할까요?
답변
답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!





