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 文書内のすべての Paragraph オブジェクトを呼び出して調べるよりも、見出しだけを検索する効率的な方法はありますか?
編集:
私はこれを使用していることにも言及する必要があります:
doc.ConvertNumbersToText()
自動番号付けを段落テキストで検索可能なものに変換します。
2番目の編集:
オプションとしてできるようにしたいのですが、目次は探していません。私は見出し1、2、3、4、5、6などを探しているだけです。