![]() |
|
|
|
#1
|
||||
|
||||
|
Paul, I think you are not understanding what the OP is trying to do. My interpretation of what they are saying could be addressed by this macro.
This refreshes the TOC and then steps backwards through the entries and removes any TOC1s that are followed immediately by another TOC1 (doesn't have a child) Code:
Sub TOC_Fiddler()
Dim aPar As Paragraph, aTOC As TableOfContents, i As Integer, aRng As Range
Set aTOC = ActiveDocument.TablesOfContents(1)
aTOC.Update
Set aRng = aTOC.Range
For i = aRng.Paragraphs.Count - 1 To 1 Step -1
If aRng.Paragraphs(i).Style = "TOC 1" And aRng.Paragraphs(i).Next.Style = "TOC 1" Then aRng.Paragraphs(i).Range.Delete
Next i
End Sub
__________________
Andrew Lockton Chrysalis Design, Melbourne Australia |
|
#2
|
|||
|
|||
|
Quote:
Thank you! With a slight mod to work on each of the TOCs, that works exactly as I want except I get a "Cannot edit Range." error if it attempts to delete the top entry in the TOC. I was getting that same error before using similar code that used paragraph.range.delete but I didn't realize it was the just on the top entry that caused the error until I ran your code which steps backwards through the TOC. |
|
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
Horizontal line I can't delete
|
goingvirtual | Word | 2 | 09-09-2018 02:58 AM |
Delete certain characters from a line
|
Helend269 | Word VBA | 5 | 01-09-2018 12:08 PM |
Delete line above sidenote
|
JackDaniels | Word | 2 | 10-01-2016 08:04 AM |
| If Statement in vba to Delete a Line | mbesspiata | Excel Programming | 4 | 04-08-2014 04:32 AM |
| Cannot delete line | adkr | Office | 1 | 04-07-2010 09:26 PM |