python 合并word文档,实现同一个文件夹下面的word合并成一个word

python 合并word文档,实现同一个文件夹下面的word合并成一个word

-- coding:utf-8 --

import win32com.client as win32
import os
def hb_word(path_word, bc_word):
word = win32.gencache.EnsureDispatch(‘Word.Application’)
#启动word对象应用
word.Visible = False
path = path_word
list_word = os.listdir(path)
files = []
for filename in list_word:
filename = os.path.join(path,filename)
files.append(filename)
#新建合并后的文档
output = word.Documents.Add()
jd_pc = 95 / len(files)
jd = 95 / len(files)
for file in files:
print(file)
output.Application.Selection.InsertFile(file)#拼接文档
p1[“value”] = jd
jd = jd_pc + jd
root.update()
#获取合并后文档的内容
doc = output.Range(output.Content.Start, output.Content.End)
output.SaveAs(os.path.join(bc_word, ‘合并.docx’)) #保存
output.Close()
p1[“value”] = 100
root.update()

!/usr/bin/env python

-- coding: utf-8 --

from tkinter import *

from tkinter import ttk, Tk, Frame, Label, LEFT, NO, RIGHT, TOP, BOTTOM, HORIZONTAL, Y, ACTIVE
import tkinter.filedialog, tkinter.messagebox
from tkinter.scrolledtext import ScrolledText, Scrollbar
import os, base64, time, traceback

def center_window(root, width, height):
“”“窗体屏幕居中显示”“”
screenwidth = root.winfo_screenwidth()
screenheight = root.winfo_screenheight()
size = ‘%dx%d+%d+%d’ % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)
root.geometry(size)

def select_inpath():
“”“选择工程文件目录”“”
folder = tkinter.filedialog.askdirectory()
ent1.delete(“0”, “end”)
ent1.insert(0, folder)

def select_inpath1():
“”“选择工程文件目录”“”
folder = tkinter.filedialog.askdirectory()
ent2.delete(“0”, “end”)
ent2.insert(0, folder)

def ye():
path_word = ent1.get()
path_pdf = ent2.get()
try:
hb_word(path_word, path_pdf)
a = tkinter.messagebox.askokcancel(title=‘出错了’, message=‘导出完成,是否打开文件夹’)
if a:
os.startfile(path_pdf)
except:
tkinter.messagebox.askokcancel(title=‘出错了’, message=traceback.format_exc())

def clear():
“”“清理输入框”“”
ent1.delete(“0”, “end”)
ent2.delete(“0”, “end”)
ent3.delete(“0”, “end”)
text.delete(‘1.0’, ‘end’)

def close():
“”“关闭”“”
root.destroy()

###########################

以下为界面代码

###########################
tmp = open(“tmp.ico”, “wb+”)
tmp.close()

root = Tk()
root.title(‘Word合并 v1.0’)
center_window(root, 740, 180)
root.iconbitmap(‘tmp.ico’)
os.remove(“tmp.ico”)
frm1 = Frame(root)
frm2 = Frame(root)
frm3 = Frame(root)
frm31 = Frame(root)
frm32 = Frame(root)
frm33 = Frame(root)
frm4 = Frame(root)
frm5 = Frame(root)

lab = Label(frm1, font=(“宋体”, 10), text=“选择word路径:”).pack(side=LEFT, expand=NO, fill=None)
ent1 = ttk.Entry(frm1, width=80, font=(“微软雅黑”, 9))
ent1.pack(side=LEFT)
but1 = ttk.Button(frm1, text=‘. . .’, width=6, command=select_inpath)
but1.pack(side=LEFT, padx=10)
frm1.pack(pady=15)

lab = Label(frm2, font=(“宋体”, 10), text=“选择保存路径:”).pack(side=LEFT, expand=NO, fill=None)
ent2 = ttk.Entry(frm2, width=80, font=(‘微软雅黑’, 9))
ent2.pack(side=LEFT)
but2 = ttk.Button(frm2, text=‘. . .’, width=6, command=select_inpath1)
but2.pack(side=LEFT, padx=10)
frm2.pack()

p1 = ttk.Progressbar(frm31, length=700, mode=“determinate”, orient=HORIZONTAL)
p1.grid(row=1, column=1)
frm31.pack(pady=15)

but3 = ttk.Button(frm4, text=‘开 始’, width=8, command=ye)
but3.pack(side=LEFT, padx=50)
but5 = ttk.Button(frm4, text=‘退 出’, width=8, command=close)
but5.pack(side=RIGHT, padx=50)
frm4.pack()

root.mainloop()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DK业

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值