View Single Post
 
Old 03-16-2015, 04:21 AM
gmaxey gmaxey is offline Windows 7 32bit Office 2010 (Version 14.0)
Expert
 
Join Date: May 2010
Location: Brasstown, NC
Posts: 1,598
gmaxey is just really nicegmaxey is just really nicegmaxey is just really nicegmaxey is just really nicegmaxey is just really nice
Default

I think this would be faster and more comprehensive:

Code:
Sub GetHeadings()
Dim oDoc As Document: Set oDoc = ActiveDocument
Dim varHeadings As Variant, lngIndex As Long
Dim oRng As Word.Range
  varHeadings = oDoc.GetCrossReferenceItems(wdRefTypeHeading)
  Set oRng = oDoc.Range
  For lngIndex = 1 To UBound(varHeadings)
    With oRng.Find
      .Text = Trim$(varHeadings(lngIndex))
      .Forward = True
      If .Execute Then
        If Left(oRng.Paragraphs(1).Range.Style, Len("Heading")) = "Heading" Then
          MsgBox varHeadings(lngIndex) & " auf Seite:" & oRng.Information(wdActiveEndAdjustedPageNumber), vbOKOnly
        End If
        oRng.Collapse wdCollapseEnd
      End If
    End With
  Next
lbl_Exit:
  Exit Sub
End Sub
__________________
Greg Maxey
Please visit my web site at http://www.gregmaxey.com/
Reply With Quote