![]() |
|
#1
|
|||
|
|||
|
Hello,
i searched other threads but couldn't find the solution. no experience in vba. i wish to select all headings with multiple styles all at once and then delete them. any vba code on this? i found this macro selecting only heading 1 style. How to add additional styles in the code? Code:
Sub SelectHeadings()
'
' SelectHeadings Macro
'
'
Dim tempTable As Paragraph
Application.ScreenUpdating = False
ActiveDocument.DeleteAllEditableRanges wdEditorEveryone
For Each tempTable In ActiveDocument.Paragraphs
'Debug.Print tempTable.Range.Style & " " & wdStyleHeading1
If tempTable.Style = ActiveDocument.Styles(wdStyleHeading1) Then
'Debug.Print "aaa"
tempTable.Range.Editors.Add wdEditorEveryone
End If
Next
ActiveDocument.SelectAllEditableRanges wdEditorEveryone
ActiveDocument.DeleteAllEditableRanges wdEditorEveryone
Application.ScreenUpdating = True
End Sub
Last edited by macropod; 06-15-2021 at 02:58 PM. Reason: Added code tags & formatting |
|
#2
|
||||
|
||||
|
Each heading can have only one paragraph Style. If you want to delete all headings, simply use Find/Replace to delete all content in each heading Style. That would be way quicker than looping through all paragraphs and testing them. For example:
Code:
Sub DeleteHeadings()
Application.ScreenUpdating = False
Dim i As Long
With ActiveDocument.Content.Find
.ClearFormatting
.Format = True
.Text = ""
.Replacement.Text = ""
.Wrap = wdFindContinue
For i = 1 To 9
.Style = "Heading " & i
.Execute Replace:=wdReplaceAll
Next i
End With
Application.ScreenUpdating = True
End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
#3
|
|||
|
|||
|
Thank you so much for your response it works as expected.
The only thing it deletes the section breaks I have to separate each page. Each page is a different letter and I wish to show them on a different page. Is there a way I can retain the section breaks? Sample of word file structure attached. Thank you for your time. |
|
#4
|
||||
|
||||
|
The section breaks have Heading styles applied to them - what did you think would happen?
If you change the style on the breaks to non-heading styles, you would find the macro doesn't remove them.
__________________
Andrew Lockton Chrysalis Design, Melbourne Australia |
|
#5
|
|||
|
|||
|
Thank you. Didn't realise that you can apply fonts/styles to section breaks.
Perfectly clear. Thank you |
|
#6
|
||||
|
||||
|
For example:
Code:
Sub DeleteHeadings()
Application.ScreenUpdating = False
Dim i As Long
With ActiveDocument.Content.Find
.ClearFormatting
.Format = True
.Text = "^12"
.Replacement.Text = "^&"
.Replacement.Style = wdStyleNormal
.Wrap = wdFindContinue
.Replacement.ClearFormatting
.Text = ""
.Replacement.Text = ""
For i = 1 To 9
.Style = "Heading " & i
.Execute Replace:=wdReplaceAll
Next i
End With
Application.ScreenUpdating = True
End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
| Tags |
| heading styles selection |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Unable to get Styles to move headings. | Balliol | Word Tables | 0 | 10-12-2019 01:24 PM |
Applied Styles to Headings in Multi-Level List; now ALL second level headings are 1.XX
|
NNL | Word | 1 | 08-09-2017 02:52 PM |
Help with Styles - What is +Body and +Headings
|
spdoffice | Word | 8 | 12-18-2016 11:15 PM |
Creating new styles and applying numbering to headings - numbering not following from headings
|
Fuzzyflo | Word | 1 | 07-26-2016 04:34 AM |
| Headings and Styles. | Balliol | Word | 2 | 07-26-2013 12:41 AM |