![]() |
|
#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 |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
Replace characters in a string
|
Marcia | Excel Programming | 5 | 05-04-2020 05:15 AM |
Wildcard replace any string in context with a specified string
|
wardw | Word | 7 | 05-07-2018 09:13 AM |
Replace multiple strings by one same string at once
|
puff | Word | 2 | 02-28-2018 11:04 AM |
Replace characters in a string
|
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 |