整体思路为:如果复制第2页。1.先跳到word的第2页 然后光标会在第2页最开始的位置。2.记录此时光标的位置。3.再跳到word的第3页,此时光标在第3页开始位置,如果这时候复制会带着复制第3页 相当于2个页面。4.光标往左移动一下,切换到第3页结尾。(这里应该也有方法直接跳到该页结尾,懒得再翻文档了。。)5.再次记录光标位置。6.最后选中两个位置。7.复制再到新的word上粘贴。
会有如下问题,指定页和总页数一样,这时候就全选光标向右移,记录位置 相当于word结尾处,再全选,复制,粘贴。
多个页面的时候也是相似的处理方法,总体就是记录当前的坐标和结尾的坐标。
另附官网vb链接 Word (Pages) | Microsoft Docs
好了 代码如下:
import win32com
from win32com.client import Dispatch
import os
# 指定copy页
page_n = 2
word = win32com.client.Dispatch('Word.Application')
word.Visible = 1 # 后台运行,不显示
word.DisplayAlerts = 0 # 不警告
# path = # word文件路径
doc_add = word.Documents.Add()
doc_new = word.Documents.Open(r'C:\Users\xx\Desktop\5.doc')
doc = word.Documents.Open(r'C:\Users\xx\Desktop\2.doc', False, False, False, "123")
# word
pages = doc.ActiveWindow.Panes(1).Pages.Count
if page_n

本文介绍了一种使用Python脚本批量复制Word文档中指定页的方法。通过调用win32com模块实现对Word文档的自动化操作,包括定位到指定页、记录开始与结束位置并进行内容复制。

7477

被折叠的 条评论
为什么被折叠?



