手上有上百个 docx 文件需要合并到一个文件,现在用 python 的 win32com 调用 word 已经可以把文件内容合并到一个文件里了,但这个文件的内容太紧密了,文件 1 的结尾马上就跟着文件 2 的开始,不太美观。
现在的想法是插入每个文件时,在后面添加一个分页符,让后面的文件总是从新的一页开始,而不是紧紧挨着上一个文件的结尾。
可以实现吗?
我搜了一下,有用 python-docx 库添加分页符的方法,那么用 win32com 可以添加分页符吗?
1
kokutou 2020-10-10 21:15:05 +08:00
搞一个 word 文件,就包含 1 个分页符...
合并进去不就行了... |
2
realpg 2020-10-10 21:17:45 +08:00
编程方式调用,有一切图形界面有的功能
最简单的办法就是你直接开启录制宏,然后插入一个分隔符,然后看一眼生成的代码 |
3
xd314697475 2020-10-10 21:21:12 +08:00
分成 2 步
先给文件轮流插入分页符 再合并 |
4
golp2000 OP @realpg 试了一下,word 宏里面插入分页符的语句是 Selection.InsertBreak Type:=wdPageBreak,应该怎么让 python 执行这个 vba 语句呢?
|
5
realpg 2020-10-10 22:00:23 +08:00
|
6
danbai 2020-10-10 22:19:23 +08:00 via Android
顺道问下 go unioffice 怎么让图片显示在文字下面
|
8
golp2000 OP @realpg 在 stackoverflow 一个小角落发现了答案:word.Selection.InsertBreak() ^_^
|
9
geelaw 2020-10-10 22:58:22 +08:00 via iPhone
我觉得很诡异的是楼主都用 win32com 了居然没发现 VBA 和 win32com 都只是 COM 的投影罢了。
|
10
opengps 2020-10-11 01:03:23 +08:00
我不懂 python,但我尝试给楼主支个招试试看:
既然已经做到了文件拼接文件,那么完全可以变通一下:让文件拼接文件的时候,多拼接一个“换页文件”来搞定,不过这里只解决了间隔问题,能否进一步让新文件处于新页的首行还得进一步考虑下 |
11
golp2000 OP @geelaw 主要我也是个新手,搜到了一个合并 word 的代码,跑起来能够达到我的目的就直接用了 (汗),但最后看结果不太满意想要自己增加一点功能,依靠搜索引擎的 CV 选手就这水平了:(
|
12
lithbitren 2020-10-12 14:54:01 +08:00
有些操作简单但是接口复杂的一次性办公问题,都直接写按键脚本了,low 但是有效
|