赞
踩
用代码 search_range.Find.Execute(FindText=“标题一”)查找到标题一
再用search_range.Select()选取标题一
最后 word.Selection.MoveLeft()光标左移
start = word.Selection.Start.numerator找到位置
# 光标start的查找
# 赋值对象
search_range = doc.Content
# 查找内容
search_range.Find.Execute(FindText="标题一")
# 选中查找到的内容
search_range.Select()
# 光标左移
word.Selection.MoveLeft()
# 将光标位置赋予start
start = word.Selection.Start.numerator
全部代码如下:
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()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。