-
MsgBox listing all sections that only carry a heading level 1
Dear Experts:
Below macro searches for sections that only have built-in heading level 1 and no subsequent lower heading levels and sets a specific header for them. It is running fine.
I wonder whether it is possible to expand the macro to show those sections (only featuring heading 1 and no other subsequent lower heading levels) in a MsgBox, such as:
Section 5, Summary
Section 6, Bibliography
The MsgBox should pop up in the place specified below.
Help is much appreciated. Thank you very much in advance.
Kind Regards, Andreas
[VBA]Sub SetHeaderSectionsHeading1()
Dim s As Integer
Dim sect As Section
Dim HasHeading1() As Boolean
Dim HasHeading2() As Boolean
ReDim HasHeading1(ActiveDocument.Sections.count)
ReDim HasHeading2(ActiveDocument.Sections.count)
Dim rng As range
If MsgBox("This macro sets a specific header for all sections featuring just heading level 1" & vbCrLf & _
" .... Would you like to continue?", vbYesNo + vbQuestion, "Header for sections with just heading 1") = vbNo Then
Exit Sub
End If
Set rng = ActiveDocument.range
With rng.Find
.Format = True
.Style = ActiveDocument.Styles(wdStyleHeading1)
Do While .Execute(Wrap:=wdFindStop)
HasHeading1(rng.Sections(1).Index) = True
Loop
End With
Set rng = ActiveDocument.range
With rng.Find
.Format = True
.Style = ActiveDocument.Styles(wdStyleHeading2)
Do While .Execute(Wrap:=wdFindStop)
HasHeading2(rng.Sections(1).Index) = True
Loop
End With
For s = 1 To ActiveDocument.Sections.count
Set sect = ActiveDocument.Sections(s)
If HasHeading1(s) And Not HasHeading2(s) Then
<MsgBox listing these sections should go in here>
Set rng = sect.Headers(wdHeaderFooterPrimary).range
'Do processing page headers
End If
Next s
End Sub[/VBA][VBA][/VBA]
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules