![]() |
|
|
|
#1
|
||||
|
||||
|
Well, there's nothing in the code that relates to 'Track Changes', so whether any changes as a result of the Find/Replace are tracked depends entirely on whether you have 'Track Changes' on. If, however, your concern is that the Find is not matching with some strings, the most likely cause is that what is to be found by the Find expression spans a range that partly includes a 'Tracked Change'. You need to provide more details.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
#2
|
|||
|
|||
|
This is the code i am working on
I want to maintain the track changes only for the exact word match. Need to know the original word in track change so that we can track of which word is replace by which one Code:
Sub RemoveShreeLipiDistortion()
Dim username As String
username = Application.username
Application.username = "RemoveShreeLipiDistortion"
Dim showrevisionsflag As Boolean
showrevisionsflag = ActiveWindow.View.ShowRevisionsAndComments
With ActiveWindow.View
.ShowRevisionsAndComments = False
.RevisionsView = wdRevisionsViewFinal
.Reviewers.Item("RemoveShreeLipiDistortion").Visible = True
End With
Dim objExcel As Object
Set objExcel = CreateObject("Excel.Application")
Set exWb = objExcel.Workbooks.Open(ActiveDocument.path + "\List of ShreeLipi Distortion (1).xlsx")
Dim counter As Integer
counter = 1000 'exWb.Worksheets(1).Rows.Count
Dim i As Integer
Dim oRng As Range
'For i = 250 To counter
For i = 2 To counter
If exWb.Worksheets(1).Range("A" & i) = "" Then
Exit For
End If
Set oRng = ActiveDocument.Range
ActiveDocument.TrackRevisions = False
With oRng.Find
.Text = Replace(exWb.Worksheets(1).Range("A" & i), "^", "^^")
.Replacement.Text = "Aardvark"
.MatchCase = True
.MatchWholeWord = True
.Execute Replace:=wdReplaceAll
End With
ActiveDocument.TrackRevisions = True
Set oRng = ActiveDocument.Range
With oRng.Find
.Text = "Aardvark"
.Replacement.Text = Replace(exWb.Worksheets(1).Range("B" & i), "^", "^^")
.MatchCase = True
.MatchWholeWord = True
.Execute Replace:=wdReplaceAll
End With
ActiveDocument.TrackRevisions = False
Set oRng = ActiveDocument.Range
With oRng.Find
.Text = "Aardvark"
.Replacement.Text = Replace(exWb.Worksheets(1).Range("A" & i), "^", "^^")
.MatchCase = True
.MatchWholeWord = False
.Execute Replace:=wdReplaceAll
End With
ActiveDocument.TrackRevisions = True
Next i
exWb.Close
Set exWb = Nothing
Set objExcel = Nothing
ActiveWindow.View.ShowRevisionsAndComments = showrevisionsflag
Application.username = username
End Sub
Last edited by macropod; 05-14-2017 at 04:28 AM. Reason: Added code tags |
|
#3
|
||||
|
||||
|
Quote:
https://www.msofficeforums.com/word-...html#post34254 and: https://www.msofficeforums.com/word-...html#post61795 and, for a demonstration of how even the Find/Replace formatting can be specified: https://www.msofficeforums.com/word-...html#post93796 The first two process multiple documents, though the folder-processing code could be omitted and the document reference changed to just the active document, as per the code in the third link.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
#4
|
|||
|
|||
|
I have tried using wild cards but its throwing lots of errors because of special characters
such as word ending with > |
|
#5
|
|||
|
|||
|
Distortion using wildcard.zip
I have tried using wildcards but getting error i have attached the error snap shot I have attached the macro, word file and excel file Code:
Sub RemoveShreeLipiDistortionUsingWildCards()
Dim objExcel As Object
Set objExcel = CreateObject("Excel.Application")
Set exWb = objExcel.Workbooks.Open(ActiveDocument.path + "\List of ShreeLipi Distortion (1).xlsx")
Dim counter As Integer
counter = 1000 'exWb.Worksheets(1).Rows.Count
Dim i As Integer
Dim oRng As Range
'For i = 250 To counter
For i = 2 To counter
If exWb.Worksheets(1).Range("A" & i) = "" Then
Exit For
End If
Set oRng = ActiveDocument.Range
With oRng.Find
.Text = "<" + Replace(exWb.Worksheets(1).Range("A" & i), "^", "^^") + ">"
.Replacement.Text = Replace(exWb.Worksheets(1).Range("B" & i), "^", "^^")
.MatchCase = True
'.MatchWholeWord = True
.MatchWildcards = True
.MatchCase = True
.Execute Replace:=wdReplaceAll
End With
Next i
exWb.Close
Set exWb = Nothing
Set objExcel = Nothing
End Sub
Last edited by macropod; 05-17-2017 at 10:38 PM. Reason: Added code tags |
|
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
MS Word 2016 Find and Replace
|
BillM | Word | 2 | 03-14-2017 10:49 AM |
Need help using Find & Replace (MS Word)
|
BZee | Word | 9 | 02-16-2015 05:45 PM |
| Replace each heading with a unique numeric value | amitkapoor | Word | 7 | 05-06-2013 03:29 AM |
Word Find and Replace Query
|
bthart | Word | 1 | 12-29-2011 12:45 AM |
Bad view when using Find and Find & Replace - Word places found string on top line
|
paulkaye | Word | 4 | 12-06-2011 11:05 PM |