![]() |
#1
|
|||
|
|||
![]() Hi, I am trying to find and replace unique alphanumeric word containing special characters But couldn't able to find the unique word with this combination ? |
#2
|
|||
|
|||
![]()
So what unique word are you trying to find?
|
#3
|
||||
|
||||
![]()
If it's in any document or other content you have access to, you can copy it from there and paste it into the Find dialogue. If it's not found, that's most likely because it isn't in the document you're working with.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#4
|
|||
|
|||
![]()
Hello
I have attached the word file attachment with font file. I am trying to search for a word ^mb in the given document but its searching for this word also g§^mbZm I am looking for exact match. So Please give me a solution for this. Is there a way to identify the beginning of paragraph in find replace ? This is the macro code i have pasted below With Selection.Find .Text = ^mb .Replacement.Text = test .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = True .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll |
#5
|
|||
|
|||
![]()
Your code doesn't compile so I don't see how it is finding or not finding anything.
Find whole word is disabled when certain characters are included in the find string. You could do this in steps (just make sure your document is not a thesis on the behavior of the Aardvark): Code:
Sub InSteps() Dim oRng As Range Set oRng = ActiveDocument.Range With oRng.Find .Text = "^^" .Replacement.Text = "Aardvark" .Execute Replace:=wdReplaceAll Set oRng = ActiveDocument.Range .Text = "Aardvarkmb" .Replacement.Text = "Test" .MatchWholeWord = True .Execute Replace:=wdReplaceAll Set oRng = ActiveDocument.Range .Text = "Aardvark" .Replacement.Text = "^^" .MatchWholeWord = False .Execute Replace:=wdReplaceAll End With End Sub |
#6
|
|||
|
|||
![]()
Hi
I am trying to search for this word Ë_do in the document but even then its showing selection for this word AmË_doÎmm It should find exact word not the subset of it |
#7
|
|||
|
|||
![]()
As I have already taken pains to express, the find whole word option is disregarded when using symbols and such in the find string. You have to do it in steps:
Code:
Sub InSteps() Dim oRng As Range Set oRng = ActiveDocument.Range With oRng.Find .Text = "Ë_do" .Replacement.Text = "Aardvark" .Execute Replace:=wdReplaceAll Set oRng = ActiveDocument.Range .Text = "Aardvark" .Replacement.Text = "Whatever you want to replace with" .MatchWholeWord = True .Execute Replace:=wdReplaceAll Set oRng = ActiveDocument.Range .Text = "Aardvark" .Replacement.Text = "Ë_do" .MatchWholeWord = False .Execute Replace:=wdReplaceAll End With End Sub |
#8
|
|||
|
|||
![]()
Hi,
Can you list me out what are the symbols it will cause problem ? |
#9
|
|||
|
|||
![]()
Hello,
I have a list of words in excel sheet i want to find and replace in words file. With the above code its working fine. I want to track changes but with the above code couldn't track changes |
#10
|
|||
|
|||
![]()
So you want to add lock protection + track changes to the code? Add this:
Code:
ActiveDocument.Protect Password:="password", NoReset:=False, Type:= _ wdAllowOnlyRevisions, UseIRM:=False, EnforceStyleLock:=True Code:
Sub TrackChanges() 'replace password with whatever you want ActiveDocument.Protect Password:="password", NoReset:=False, Type:= _ wdAllowOnlyRevisions, UseIRM:=False, EnforceStyleLock:=True End Sub |
#11
|
||||
|
||||
![]()
Protection really has nothing to do with raghugada's 'Track Changes' issue. The issue concerns the Find/Replace apparently not working with 'Track Changes'. The most likely cause is that what is to be found by the Find expression spans a range that partly includes a 'Tracked Change'.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#12
|
||||
|
||||
![]()
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] |
#13
|
|||
|
|||
![]()
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 |
#14
|
||||
|
||||
![]() 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] |
#15
|
|||
|
|||
![]()
I have tried using wild cards but its throwing lots of errors because of special characters
such as word ending with > |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
![]() |
BillM | Word | 2 | 03-14-2017 10:49 AM |
![]() |
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 |
![]() |
bthart | Word | 1 | 12-29-2011 12:45 AM |
![]() |
paulkaye | Word | 4 | 12-06-2011 11:05 PM |