【NLP】word复制指定内容到新的word文档

目录

1.python代码

2.结果


需求:

复制word文档里的两个关键字(例如“起始位置”到“结束位置”)之间的内容到新的word文档。

前提:安装win32包,通过pip install pywin32命令直接安装。话不多说,直接上代码。

1.python代码

import win32com.client as win32
from win32com.client import constants
import os
# 打开word应用程序
word = win32.gencache.EnsureDispatch('Word.Application')
# 是否可视化
word.Visible = 0
# 源文件路径
file_path = r'D:/A.docx'
# 打开
doc = word.Documents.Open(file_path)
# 光标start的查找
# 赋值对象
search_range = doc.Content
# 查找内容
search_range.Find.Execute(FindText="起始位置")
# 选中查找到的内容
search_range.Select()
# 光标左移
word.Selection.MoveLeft()
# 将光标位置赋予start
start = word.Selection.Start.numerator
print(start)
 
# 光标end的查找  同上
search_range = doc.Content
search_range.Find.Execute(FindText="结束位置")
search_range.Select()
word.Selection.MoveLeft()
end = word.Selection.Start.numerator
print(end)
 
# 选取光标start到光标end的内容
doc.Range(start, end).Select()
# 复制
word.Selection.Copy()
# 粘贴的目标文件
doc_new = word.Documents.Open('D:/B.docx')
# 粘贴
doc_new.Application.ActiveDocument.Range().Paste()
# 关闭两个文件
doc_new.Close()
doc.Close()

2.结果

A.docx内容 (输入)

【NLP】word复制指定内容到新的word文档_第1张图片

B.docx内容(输出)

【NLP】word复制指定内容到新的word文档_第2张图片

该方法可以保留文档格式段落保持不变,非常奈斯✅。

参考:参考链接

整理不易,欢迎一键三连!!!


送你们一条美丽的--分割线--

⛵⛵⭐⭐

你可能感兴趣的:(NLP,word,python,nlp,win32com)