我正在搜索 word 文档中的标题和自动编号,并将它们分配给元组。
(Heading Style, 1.1, text)
目前我正在使用 for 循环来传递文档中的每个 Paragraph 对象并搜索它。
for x in xrange(1, doc.Paragraphs.Count+1):#for loop to print through paragraphs
oText = doc.Paragraphs(x)
if not oText.Range.Tables.Count >0 :
results = re.match('(?P<number>(([1-3]*[A-D]*[0-9]*)(.[1-3]*[0-9])+))', oText.Range.Text)
stylematch = re.match('Heading (?P<i>\d)', oText.Style.NameLocal)
if results!= None and oText.Style != None and stylematch != None:
doccat.append((oText.Style.NameLocal, oText.Range.Text[:len(results.group('number'))],oText.Range.Text[len(results.group('number')):]))
style = oText.Style.NameLocal
有没有更有效的方法来搜索标题而不是调用和检查 Word 文档中的每个段落对象?
编辑:
我还应该提到我正在使用这个:
doc.ConvertNumbersToText()
将自动编号转换为段落文本中可搜索的内容。
第二次编辑:
我不是在寻找目录,尽管我希望能够作为一个选项。我只是在寻找标题 1、2、3、4、5、6 等。