Dim i As Integer
Dim j As Long
Dim rngTmp As Word.Range
Dim rngTmp2 As Word.Range
Dim para As Word.Paragraph
Dim strDocContent As String
Dim strTmp As String
Set objActiveDoc = objWrd.ActiveDocument
i = 0
j = 0
If objActiveDoc.TablesOfContents.Count = 0 Then
If objActiveDoc.Paragraphs.Count > 0 Then
For Each para In objActiveDoc.Paragraphs
If para.Range.Words.Count > 0 Then
If para.Range.Font.Bold Then
i = 0
j = 0
i = para.Range.Sentences(1).Words.Count
If i <> 0 Then
For i = 1 To para.Range.Sentences(1).Words.Count
If para.Range.Words(i).Text <> "" Then
j = j + Len(para.Range.Words(i).Text)
End If
Next
Set rngTmp2 = objActiveDoc.Range(para.Range.Start, para.Range.Start + j)
strTmp = rngTmp2.Text
objActiveDoc.TablesOfContents.MarkEntry Range:=rngTmp2, Entry:=strTmp, EntryAutoText:="", _
TableId:="C", Level:=1
End If
End If
End If
Next
Set rngTmp = objActiveDoc.Range(Start:=0, End:=0)
With objActiveDoc
.TablesOfContents.Add Range:=rngTmp, RightAlignPageNumbers:= _
True, UseHeadingStyles:=True, UpperHeadingLevel:=1, _
LowerHeadingLevel:=3, UseFields:=True, IncludePageNumbers:=True, AddedStyles:=False, _
UseHyperlinks:=True, HidePageNumbersInWeb:=True, UseOutlineLevels:=False
.TablesOfContents(1).TabLeader = wdTabLeaderDots
.TablesOfContents.Format = wdIndexIndent
End With
With rngTmp
.Collapse wdCollapseStart
.InsertBefore "Table of Contents"
.InsertParagraphAfter
.Style = wdStyleHeading2
End With
Else
'No content on the document
End If