Microsoft Office Forums

Go Back   Microsoft Office Forums > >

Reply
 
Thread Tools Display Modes
  #1  
Old 01-02-2017, 06:00 PM
bobbyrjw bobbyrjw is offline Need VBA to renumber chapters Windows 7 32bit Need VBA to renumber chapters Office 2003
Novice
Need VBA to renumber chapters
 
Join Date: Jan 2017
Posts: 2
bobbyrjw is on a distinguished road
Default Need VBA to renumber chapters

I have a 20k word story that has been edit-chopped.
I want VBA to find each instance of the word "Chapter" and add a number that increments on each iteration, or "find". and I want to change the style to heading 1.
here is the mess I have that is not working.
I didn't know if I can dispense with the replacement text, so I entered the same as the find text.

I'm not sure it is looping all the way through the doc.
I can't find the common practice to delineate code so I will do this;

[begin VBA code]

Sub Makro6()
'
' Makro6 Makro
'
'
Dim chanumb As Integer
chanumb = 1

Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "chapter"
.Replacement.Text = "Chapter " & chanumb
.Style = ActiveDocument.Styles("Heading 1")
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = True
.MatchAllWordForms = False

End With
chanumb = chanumb + 1
Selection.Find.Execute Replace:=wdReplaceAll

End Sub



[/end VBA code]

Thank you!
Reply With Quote
  #2  
Old 01-02-2017, 09:50 PM
gmayor's Avatar
gmayor gmayor is offline Need VBA to renumber chapters Windows 10 Need VBA to renumber chapters Office 2016
Expert
 
Join Date: Aug 2014
Posts: 4,101
gmayor has much to be proud ofgmayor has much to be proud ofgmayor has much to be proud ofgmayor has much to be proud ofgmayor has much to be proud ofgmayor has much to be proud ofgmayor has much to be proud ofgmayor has much to be proud of
Default

Use a SEQ field for the chapter numbers then if you change the orrder again you can update the field to change the numbers e.g.

Code:
Sub Makro7()
Dim oRng As Range
Dim oFound As Range
    Set oRng = ActiveDocument.Range
    With oRng.Find
        Do While .Execute(FindText:="Chapter")
            Set oFound = oRng
            oRng.Collapse 0
            oRng.Fields.Add oRng, wdFieldSequence, "ChapterNum", False
            oRng.InsertBefore Chr(32)
            oFound.End = oRng.End
            oFound.Style = "Heading 1"
            oRng.Collapse 0
        Loop
    End With
End Sub
__________________
Graham Mayor - MS MVP (Word) (2002-2019)
Visit my web site for more programming tips and ready made processes www.gmayor.com
Reply With Quote
  #3  
Old 01-02-2017, 10:10 PM
macropod's Avatar
macropod macropod is offline Need VBA to renumber chapters Windows 7 64bit Need VBA to renumber chapters Office 2010 32bit
Administrator
 
Join Date: Dec 2010
Location: Canberra, Australia
Posts: 21,962
macropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond repute
Default

Quote:
Originally Posted by bobbyrjw View Post
I have a 20k word story that has been edit-chopped.
I want VBA to find each instance of the word "Chapter" and add a number that increments on each iteration, or "find". and I want to change the style to heading 1.
You might not want to do that if there's a cross-reference somewhere pointing to a different chapter. Besides which, there's a better way.

Assuming you want to use Heading 1 only for Chapter titles, you can assign a multi-level list number to that Style and prefix the list-level number with the word 'Chapter'. Then simply find the chapter headings and apply the Heading 1 Style to them - the numbering will take care of itself (even if you do further edits).
__________________
Cheers,
Paul Edstein
[Fmr MS MVP - Word]
Reply With Quote
  #4  
Old 01-03-2017, 12:15 AM
bobbyrjw bobbyrjw is offline Need VBA to renumber chapters Windows 7 32bit Need VBA to renumber chapters Office 2003
Novice
Need VBA to renumber chapters
 
Join Date: Jan 2017
Posts: 2
bobbyrjw is on a distinguished road
Default

Works magnificently. Thank you!
Reply With Quote
Reply

Tags
chapter titles, vba in microsoft word



Similar Threads
Thread Thread Starter Forum Replies Last Post
Need VBA to renumber chapters I want a Word 2013 table to automatically renumber the list when I add a new row into the middle. ar8294 Word Tables 7 07-03-2016 01:58 PM
Need VBA to renumber chapters Renumber and Multi-Level List functions don't work? ar8294 Word Tables 2 07-03-2016 10:49 AM
How to number chapters and sub-chapters in a few clicks? Icelandic_Boy Word 1 05-24-2016 11:33 AM
Need VBA to renumber chapters Chapters only Table of Contents SQLUSA Word 2 07-04-2012 03:36 PM
Page numbering - Chapters Andrew Thorpe Word 0 08-04-2010 11:04 AM

Other Forums: Access Forums

All times are GMT -7. The time now is 07:07 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft