Microsoft Office Forums

Go Back   Microsoft Office Forums > >

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #4  
Old 08-07-2023, 01:55 AM
East East is offline After first replacement, other search results are incorrectly selected Windows 10 After first replacement, other search results are incorrectly selected Office 2019
Novice
After first replacement, other search results are incorrectly selected
 
Join Date: Aug 2023
Posts: 7
East is on a distinguished road
Default

I think something like that should work.

Code:
Sub PromptRegExReplace()
Dim regEx As Object
Dim match As Object
Dim matches As Object
Dim rng As Range
Dim response As Integer
Dim replacementText As String

Set regEx = CreateObject("VBScript.RegExp")
regEx.pattern = "([0-9])"
regEx.Global = True

' Get the current cursor position
Dim cursorPosition As Long
cursorPosition = Selection.Start

' Set the range to start from the cursor position until the end of the document
Set matches = regEx.Execute(ActiveDocument.Range(cursorPosition, ActiveDocument.Range.End).text)
replacementText = "$1abc"

Do While matches.Count > 0
    Set match = matches(0)
    Set rng = ActiveDocument.Range(match.FirstIndex + cursorPosition, match.FirstIndex + match.Length + cursorPosition)
    rng.Select
    response = MsgBox("Replace this instance?", vbYesNoCancel)

    ' Check the value that is returned by the MsgBox function
    If response = vbYes Then
        Application.ScreenUpdating = False
        rng.text = regEx.replace(rng.text, replacementText)
        Application.ScreenUpdating = True

        ' Update the cursor position after replacing the text
        cursorPosition = rng.End

    ' No button moves without replacing
    ElseIf response = vbNo Then
        cursorPosition = rng.End

    ' Cancel button stops the macro
    ElseIf response = vbCancel Then
        Exit Sub
    End If

    ' Update the matches collection after replacing the text
    Set matches = regEx.Execute(ActiveDocument.Range(cursorPosition, ActiveDocument.Range.End).text)

Loop
End Sub
Reply With Quote
 

Tags
prompt, regex, replacing



Similar Threads
Thread Thread Starter Forum Replies Last Post
How to keep a list of search results Jedothek Word 2 08-19-2020 07:22 AM
2013 search results take a long time - they fill in as results in reverse date order themookman Outlook 0 10-11-2013 12:01 PM
After first replacement, other search results are incorrectly selected Outlook search too many results alexb123 Outlook 1 10-10-2013 09:53 AM
Search results disappearing Emerogork Office 3 07-17-2011 03:52 PM
Instant Search's "Display search results as I type when possible" with Exchange lwc Outlook 0 06-01-2011 01:56 AM

Other Forums: Access Forums

All times are GMT -7. The time now is 03:38 PM.


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