#1
|
|||
|
|||
Establish a new range after finding a string
I'm trying to establish a new range after finding a string, so that I can use Find again from the Found point to the end of the document. But the tentative code here below doesn't work. Can someone help? Thanks!
Code:
Dim oRng As Range Set oRng = ActiveDocument.Range With oRng.Find .ClearFormatting .Replacement.ClearFormatting .Text = "Title" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .Execute End With 'Here I need to fix the starting point of a new Find, but it doesn't work oRng.Start = oRng.Find.Found oRng.End = ActiveDocument.Range.End With oRng.Start.Find .Text:="Section" .Execute End With |
#2
|
|||
|
|||
Salut, RobiNew!
Code:
Sub TT() Dim oRng As range Set oRng = ActiveDocument.range With oRng.Find .ClearFormatting .Replacement.ClearFormatting .text = "Title" .Replacement.text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .Execute End With oRng.Collapse wdCollapseEnd 'this line can be commented oRng.End = ActiveDocument.range.End oRng.Select 'this line is for testing, can be commented With oRng.Find .text = "Section" .Execute End With oRng.Select 'this line is for testing, can be commented lbl_exit: Set oRng = Nothing Exit Sub End Sub |
#3
|
|||
|
|||
Many thanks, Vivka! A new problem: can you explain why the code here below doesn't work? I've tried two different (but equvalent) codes for Find, but nothing changes.
Code:
Sub InsertDiv() With Options .AutoFormatAsYouTypeReplaceQuotes = False End With Dim oRng As Range Set oRng = ActiveDocument.Range With oRng.Find .ClearFormatting .Text = "(</body>)" & Chr(13) '.Text = "(" & Chr(60) & "/body" & Chr(62) & ")" & Chr(13) .Replacement.Text = "\1" & "<div align=""center"">" & Chr(13) & "==========================================================================" .Forward = True .Wrap = wdFindStop .Format = False .MatchWildcards = True Execute Replace:=wdReplaceAll '.Execute End With With Options .AutoFormatAsYouTypeReplaceQuotes = True End With End Sub |
#4
|
|||
|
|||
Hi, RobiNew! "<" and ">" are special chars that denote something different from their literal meanings under WildCard search (that is, they have special meanings, which are the start and end of a word), so, if you want to find them with their literal meaning, not special, use a backslash before each of them:
.text = "(\</body\>)" & Chr(13) Some other special chars are *([)])!?#@ |
#5
|
|||
|
|||
Many thanks, Vivka! À la prochaine!
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Subscript out of Range Error when searched for string and its line number in Text File | SamDsouza | Word VBA | 4 | 01-12-2021 07:08 PM |
Wildcard replace any string in context with a specified string | wardw | Word | 7 | 05-07-2018 09:13 AM |
How to Import range between two string from other document | PRA007 | Word VBA | 1 | 12-18-2015 09:23 PM |
finding a string containing a combination of formats and adding text before | Marco | Word VBA | 1 | 11-02-2015 05:08 PM |
Way to search for a string in text file, pull out everything until another string? | omahadivision | Excel Programming | 12 | 11-23-2013 12:10 PM |