![]() |
#16
|
|||
|
|||
![]()
Hi Andrew,
I've had a think about this and have decided to only add 2 to all page numbers and keep the format of the rollover numbers as they are (number of digits is unchanged). I wasn't asked to fix the index and as you say Word has built-in functionality for indexing. So using your code I have the start of 2 routines I need to run, 1st updates all page numbers that are not rollover trailing page numbers Code:
Sub FindPattern() Dim aRng As Range, str As String, int1 As Integer, int2 As Integer, arrStr() As String, msg As String, x As String Set aRng = ActiveDocument.Range With aRng.Find .ClearFormatting .MatchWildcards = True .Text = " [0-9]{2,3}" Do While .Execute = True arrStr = Split(aRng.Text, " ") For i = LBound(arrStr) To UBound(arrStr) If IsNumeric((arrStr(i))) Then int1 = CInt(arrStr(i)) + 2 End If Next i ' Need help here to update the index fields ' int1 = CInt(arrStr(0)) + 2 ' int2 = CInt(arrStr(1)) + 2 ' aRng.Text = int1 & "-" & int2 ' aRng.Collapse Direction:=wdCollapseEnd ' aRng.End = ActiveDocument.Range.End Loop End With End Sub Code:
Sub FindToPage() Dim aRng As Range, str As String, int1 As Integer, int2 As Integer, arrStr() As String, msg As String, x As String Set aRng = ActiveDocument.Range With aRng.Find .ClearFormatting .MatchWildcards = True .Text = "–[0-9]{1,3}" Do While .Execute = True arrStr = Split(aRng.Text, "–") For i = LBound(arrStr) To UBound(arrStr) If IsNumeric(arrStr(i)) Then If CInt(arrStr(i)) > 7 And CInt(arrStr(i)) < 10 Then int1 = CInt(arrStr(i)) - 8 Else int1 = CInt(arrStr(i)) + 2 End If End If Next i Loop End With End Sub This index was created manually so just updating the page numbers is enough. Thanks for your time and all your input, I've learned a great deal |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
![]() |
Marcia | Excel Programming | 5 | 05-04-2020 05:15 AM |
![]() |
wardw | Word | 7 | 05-07-2018 09:13 AM |
![]() |
puff | Word | 2 | 02-28-2018 11:04 AM |
![]() |
Anthon | Excel Programming | 1 | 11-03-2016 12:48 AM |
How to do multiple find and replace in string. | PRA007 | Word VBA | 2 | 01-06-2016 09:10 PM |