Thread: [Solved] Search in Range Only Problem
View Single Post
 
Old 10-02-2014, 02:19 AM
NobodysPerfect NobodysPerfect is offline Windows 8 Office 2010 32bit
Competent Performer
 
Join Date: Jan 2014
Location: Germany
Posts: 136
NobodysPerfect is on a distinguished road
Default Search in Range Only Problem

Hi to all,

I’m looking for a) an explanation and b) for some workaround for the following phenomenon :

Given: A paragraph completely (=incl. paragraph marker) formatted in bold, next paragraph Font.Bold = False
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.

Selection: First three words of this paragraph.
VBA code:
Code:
Sub RangeFindProblem()
Dim oRng As Range
    Set oRng = Selection.Range
    With oRng.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Font.Bold = True
        .Text = ""
        .Replacement.Text = "<start>^&<end>"
        .Forward = True
        .Wrap = wdFindStop
        .Format = True
        .Execute Replace:=wdReplaceAll
    End With
End Sub


Result: Although the range has been set to the first three words only, the complete paragraph (=incl. paragraph marker) has been searched and 'tagged':
<start>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
<end>Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.

The start of the oRng will always be set correctly according to the selection, but the end will not. The end always seems be set to the very end of the document: all bold passages will be 'tagged'.

I’m a bit confused . I’ve been searching in ranges for many years now, but never noticed that behavior before.

So, first question: Any explanations?
Second question: What can I do to solve this problem?

Thanks for any ideas
NP
Reply With Quote