Ausgabe der Gliederung (Überschrift 1) in MsgBox inkl. Abschnittsn

04/10/2008 - 09:42 von AndreasHermle | Report spam
Liebe Experten:

Ist es möglich, dieses Makro, das alle Überschriften (Überschrift 1) in
einer MsgBox ausgibt, wie folgt abzuàndern bzw. zu ergànzen:

- Angabe der Abschnittsnummer, in der die Überschrift erscheint, also bspw.

1 Einleitung, Abschnitt 3
2 Analyse, Abschnitt 4
3 Zusammenfassung, Abschnitt 5
etc.

Vielen Dank im voraus für Eure Hilfe. Gruss, Andreas


Sub ListHeading1ParaMsgBox()
Dim oPara As Paragraph
Dim strMsg As String


'Create start of message
strMsg = "The document contains the following Heading 1 text:" & vbCr &
vbCr


'Iterate through all paragraphs in active document
'If style is Heading 1, append to message
For Each oPara In ActiveDocument.Paragraphs
If oPara.OutlineLevel = wdOutlineLevel1 Then
With oPara.range
'Append the heading number and text to the message
strMsg = strMsg & .ListFormat.ListString & " " & .Text
End With
End If
Next oPara

'Show message
MsgBox strMsg, vbOKOnly, "Heading 1 Text"
 

Lesen sie die antworten

#1 Helmut Weber
04/10/2008 - 11:58 | Warnen spam
Hallo Andreas,

ich kann leider Deinen Code nicht anpassen,
mangels Test-Material. Aber im Prinzip
definiert man einen Range vom Beginn des Dokumentes
bis zum Anfang oder Ende des Überschrift-Absatzes,
und zàhlt die Sections im Range.

Etwas so, hier für alle Absàtze im Dokument:

Sub Test41()
Dim rTmp As Range
Dim oPrg As Paragraph
Set rTmp = ActiveDocument.Range
rTmp.start = 0
For Each oPrg In ActiveDocument.Paragraphs
rTmp.End = oPrg.Range.End
Debug.Print rTmp.Sections.Count
Next
End Sub

Gruß

Helmut Weber, MVP WordVBA

Vista Small Business, Office XP

Ähnliche fragen