View Single Post
 
Old 12-24-2020, 09:37 PM
gmayor's Avatar
gmayor gmayor is offline Windows 10 Office 2016
Expert
 
Join Date: Aug 2014
Posts: 4,142
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 ofgmayor has much to be proud of
Default

Looking for text between two very common characters such as '.' and '?' is bound to produce lots of false positives. It is necessary to narrow the search criteria.


In this example I would simply search for the string and remove the unwanted characters e.g.
Code:
Sub Macro1()
Const strFind As String = ". How are you today?"
Dim sText As String
    Selection.HomeKey wdStory
    Selection.Find.ClearFormatting
    With Selection.Find
        Do While .Execute(findText:=strFind, _
                          MatchWildcards:=False, _
                          Wrap:=wdFindStop, _
                          Forward:=True) = True
            sText = Replace(Selection.Range, ". ", "")
            sText = Replace(sText, "?", "")
            'do something with the found text e.g.
            MsgBox sText
        Loop
    End With
lbl_Exit:
    Exit Sub
End Sub
but see Replace using wildcards
__________________
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