如何使用win32com删除Word文档中的连续行,段落和表格?

时间:2019-12-04 06:51:10

标签: python win32com

下面是我的代码,它无法删除任何单词,我也不知道出了什么问题。

我想删除包含文本和表格的整个章节。

示例:需要删除第二章,实际上第二章中有一些表。

第1章

1.1 test1.1

1.2 test1.2

表1

1.3 test.3

第二章

2.1 test2.1

table2

2.2 test2.2

from docx import Document
import win32com
from win32com.client import Dispatch,constants
document = Document("D\\test.docx")
# get line num of Chapter2
for num, paragraph in enumerate(document.paragraphs):
    doc_text = paragraph.text
    if 'Chapter2' in doc_text:
        startnum = num
    if 'test2.2' in doc_text:
        endnum = num + 1
w = win32com.client.Dispatch('Word.Application')
w.Visible = 0
w.DisplayAlerts = 0
doc = w.Documents.Open("D\\test.docx")
#delete Chapter2
for se in range(startnum,endnum):
    doc.Paragraphs(se).Range.InsertBefore('Y\n')
    se=se+1
    doc.Paragraphs(se).Range.Text = ' '
    doc.SaveAs("D\\test1.docx")
    doc.Close()

0 个答案:

没有答案