![]() |
|
#1
|
|||
|
|||
|
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!
|
|
| Thread Tools | |
| Display Modes | |
|
|
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 |