V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
golp2000
V2EX  ›  Python

如何向 word 里面插入一个分页符?

  •  
  •   golp2000 · 2020-10-10 21:12:21 +08:00 · 2501 次点击
    这是一个创建于 1509 天前的主题,其中的信息可能已经有所发展或是发生改变。

    手上有上百个 docx 文件需要合并到一个文件,现在用 python 的 win32com 调用 word 已经可以把文件内容合并到一个文件里了,但这个文件的内容太紧密了,文件 1 的结尾马上就跟着文件 2 的开始,不太美观。

    现在的想法是插入每个文件时,在后面添加一个分页符,让后面的文件总是从新的一页开始,而不是紧紧挨着上一个文件的结尾。

    可以实现吗?

    我搜了一下,有用 python-docx 库添加分页符的方法,那么用 win32com 可以添加分页符吗?

    12 条回复    2020-10-12 14:54:01 +08:00
    kokutou
        1
    kokutou  
       2020-10-10 21:15:05 +08:00
    搞一个 word 文件,就包含 1 个分页符...
    合并进去不就行了...
    realpg
        2
    realpg  
       2020-10-10 21:17:45 +08:00
    编程方式调用,有一切图形界面有的功能
    最简单的办法就是你直接开启录制宏,然后插入一个分隔符,然后看一眼生成的代码
    xd314697475
        3
    xd314697475  
       2020-10-10 21:21:12 +08:00
    分成 2 步
    先给文件轮流插入分页符
    再合并
    golp2000
        4
    golp2000  
    OP
       2020-10-10 21:27:32 +08:00
    @realpg 试了一下,word 宏里面插入分页符的语句是 Selection.InsertBreak Type:=wdPageBreak,应该怎么让 python 执行这个 vba 语句呢?
    realpg
        5
    realpg  
       2020-10-10 22:00:23 +08:00
    @golp2000 #4
    你不是要 win32com 么……
    你既然都说了 win32com,有 vba 了还不会用,建议还是 python-docx 吧
    danbai
        6
    danbai  
       2020-10-10 22:19:23 +08:00 via Android
    顺道问下 go unioffice 怎么让图片显示在文字下面
    golp2000
        7
    golp2000  
    OP
       2020-10-10 22:30:43 +08:00
    @danbai 对 go 不太熟悉呢。。。
    golp2000
        8
    golp2000  
    OP
       2020-10-10 22:38:05 +08:00
    @realpg 在 stackoverflow 一个小角落发现了答案:word.Selection.InsertBreak() ^_^
    geelaw
        9
    geelaw  
       2020-10-10 22:58:22 +08:00 via iPhone
    我觉得很诡异的是楼主都用 win32com 了居然没发现 VBA 和 win32com 都只是 COM 的投影罢了。
    opengps
        10
    opengps  
       2020-10-11 01:03:23 +08:00
    我不懂 python,但我尝试给楼主支个招试试看:
    既然已经做到了文件拼接文件,那么完全可以变通一下:让文件拼接文件的时候,多拼接一个“换页文件”来搞定,不过这里只解决了间隔问题,能否进一步让新文件处于新页的首行还得进一步考虑下
    golp2000
        11
    golp2000  
    OP
       2020-10-11 09:53:38 +08:00
    @geelaw 主要我也是个新手,搜到了一个合并 word 的代码,跑起来能够达到我的目的就直接用了 (汗),但最后看结果不太满意想要自己增加一点功能,依靠搜索引擎的 CV 选手就这水平了:(
    lithbitren
        12
    lithbitren  
       2020-10-12 14:54:01 +08:00
    有些操作简单但是接口复杂的一次性办公问题,都直接写按键脚本了,low 但是有效
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3607 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:46 · PVG 08:46 · LAX 16:46 · JFK 19:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.