用python批量合并word文件并统一调整图片大小

复制代码
import os,time
from docx import Document
from docxcompose.composer import Composer
import win32com.client as win32
# 获取要处理的文件夹路径
folder_path = r"C:\Users\Thinkpad\Desktop\wordoutput"
datanames = os.listdir(folder_path)
list_wordoutname = []
for i in datanames:
    # 获取文件名称中日期
    list_wordoutname.append(folder_path+"\\"+i)

print(list_wordoutname)
#以下函数用于合并指定文件夹中所有word文件
# 创建新的空白Word文档
merged_doc = Document()
def HB_wordwj(files, final_docx):
    new_document = Document()
    composer = Composer(new_document)
    for fn in files:
        composer.append(Document(fn))
    composer.save(final_docx)

# 保存合并后的文档
desktop_path = os.path.expanduser("~\Desktop") #获取当前桌面路径
merged_file_name = desktop_path+"\\"+"合并输出文件.docx"
print(merged_file_name)
HB_wordwj(list_wordoutname,merged_file_name)
print("已将文件夹中的所有Word文件合并为", merged_file_name)
#------以下程序用于执行word中宏程序,用于调整合并插入的图片大小---------------------
# 创建 Word 应用程序对象
word = win32.gencache.EnsureDispatch('Word.Application')
# 打开文件
doc = word.Documents.Open(merged_file_name)
try:
    # 运行宏
    doc.Application.Run("setpicsize")
finally:
    # 关闭文件并退出 Word 应用程序
    doc.Close()
    word.Quit()

注:setpicsize宏文件先要放如word中的视图-宏中,宏文件代码如下

Sub setpicsize()

Dim n

On Error Resume Next

For n = 1 To ActiveDocument.InlineShapes.Count

ActiveDocument.InlineShapes(n).Height = 27.31 * 20

ActiveDocument.InlineShapes(n).Width = 19.33 * 20

Next n

End Sub

相关推荐
果果燕31 分钟前
C++ 学习笔记(二):类与对象—— 构造函数与析构函数
开发语言·c++
江畔柳前堤33 分钟前
Function Calling 与 Tool Calling:从认知到工程的全景深度解析
开发语言·网络·人工智能·深度学习·算法·机器学习·php
2601_9499506339 分钟前
Java 面试准备,用练题簿把“背过八股”变成“真正会答”
java·开发语言·面试·刷题·小程序推荐
老洋葱Mr_Onion1 小时前
【C++】信息学奥赛CSP通关之路——CSP-J/S第一轮原创全真模拟试卷集(2026)卷四全卷解析
开发语言·c++
zander2581 小时前
LeetCode 739:每日温度——为什么单调栈要持续弹出
开发语言·python·算法
無限進步D1 小时前
Java 函数式编程(Lambda)
java·开发语言
xzlAwin1 小时前
Win10安装Go语言多版本管理器g工具
开发语言·golang
(initial)1 小时前
C-05. Kernel Fusion 代价边界:少写回 vs 寄存器压力与 occupancy
c语言·开发语言·cuda
汤姆yu2 小时前
基于python大数据的高校舆情监测系统的设计与实现
大数据·开发语言·python·分享·分析·舆情
Cory.眼2 小时前
Python爬虫实战:从入门到进阶
开发语言·爬虫·python