강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của histar760223
histar760223

câu hỏi đã được viết

Công thức tự động hóa Python-아래아한글 cần thiết cho nhân viên văn phòng

Hãy để lại câu hỏi của bạn.

표 병합하기 관련

Viết

·

132

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에게 만들어달라고 해서 만든거에요. 부끄럽습니다...)

위 코드에서 표를 병합하는 코드를 넣으려면 어디에 어떻게 넣어야할까요?

python한컴오피스

Câu trả lời

Câu hỏi này đang chờ câu trả lời
Hãy là người đầu tiên trả lời!
Hình ảnh hồ sơ của histar760223
histar760223

câu hỏi đã được viết

Đặt câu hỏi