Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.word.docmanagement
|
|||
|
|||
![]()
I am a novice writing a Word macro where I wish to highlight a selection of
words in a document. These pre-defined words are listed in a table in a second Word document. I have taken and attempted to modify my macro from an earlier posting on this forum. It fails with the message €œNamed argument not found€ on the statement €˜HighlightColorIndex:=wdBrightGreen. The code is: Sub Highlighting() Dim TableDoc As Document ' The document that contains the table Dim RefDoc As Document ' The document that is being referenced (highlighted) Dim cTable As Table Dim oFind As Range Dim i As Long Dim sFname As String 'Change the path to reflect where you have stored the table document. sFname = "C:\My Documents\Testing\Highlighting Macro.doc" Set RefDoc = ActiveDocument Set TableDoc = Documents.Open(sFname) Set cTable = TableDoc.Tables(1) RefDoc.Activate RefDoc.TrackRevisions = True For i = 1 To cTable.Rows.Count Set oFind = cTable.Cell(i, 1).Range oFind.End = oFind.End - 1 With Selection .HomeKey wdStory With .Find .ClearFormatting .Replacement.ClearFormatting .Execute findText:=oFind, _ MatchWholeWord:=True, _ MatchWildcards:=False, _ HighlightColorIndex:=wdBrightGreen, _ Forward:=True, _ Wrap:=wdFindContinue End With End With Next i TableDoc.Close wdDoNotSaveChanges RefDoc.TrackRevisions = False End Sub Any help would be appreciated. Thanks in anticipation. |
#2
![]()
Posted to microsoft.public.word.docmanagement
|
|||
|
|||
![]()
That is because "HighlightColorIndex" is not an argument. "Highlight" is an
arguement that you can set to true, false or undefined. When set to true it will hightlight with the applications current highlight color. If brightgreen is not the current color then you could do something like this: Sub Highlighting() Dim lngHCI As Long lngHCI = Options.DefaultHighlightColorIndex Options.DefaultHighlightColorIndex = wdBrightGreen 'Your corrected code here. Options.DefaultHighlightColorIndex = lngHCI End Sub Grey Old Man wrote: I am a novice writing a Word macro where I wish to highlight a selection of words in a document. These pre-defined words are listed in a table in a second Word document. I have taken and attempted to modify my macro from an earlier posting on this forum. It fails with the message "Named argument not found" on the statement 'HighlightColorIndex:=wdBrightGreen'. The code is: Sub Highlighting() Dim TableDoc As Document ' The document that contains the table Dim RefDoc As Document ' The document that is being referenced (highlighted) Dim cTable As Table Dim oFind As Range Dim i As Long Dim sFname As String 'Change the path to reflect where you have stored the table document. sFname = "C:\My Documents\Testing\Highlighting Macro.doc" Set RefDoc = ActiveDocument Set TableDoc = Documents.Open(sFname) Set cTable = TableDoc.Tables(1) RefDoc.Activate RefDoc.TrackRevisions = True For i = 1 To cTable.Rows.Count Set oFind = cTable.Cell(i, 1).Range oFind.End = oFind.End - 1 With Selection .HomeKey wdStory With .Find .ClearFormatting .Replacement.ClearFormatting .Execute findText:=oFind, _ MatchWholeWord:=True, _ MatchWildcards:=False, _ HighlightColorIndex:=wdBrightGreen, _ Forward:=True, _ Wrap:=wdFindContinue End With End With Next i TableDoc.Close wdDoNotSaveChanges RefDoc.TrackRevisions = False End Sub Any help would be appreciated. Thanks in anticipation. |
#3
![]()
Posted to microsoft.public.word.docmanagement
|
|||
|
|||
![]()
That is because "HighlightColorIndex" is not an argument. "Highlight" is an
arguement that you can set to true, false or undefined. When set to true it will hightlight with the applications current highlight color. If brightgreen is not the current color then you could do something like this: Sub Highlighting() Dim lngHCI As Long lngHCI = Options.DefaultHighlightColorIndex Options.DefaultHighlightColorIndex = wdBrightGreen 'Your corrected code here. Options.DefaultHighlightColorIndex = lngHCI End Sub Grey Old Man wrote: I am a novice writing a Word macro where I wish to highlight a selection of words in a document. These pre-defined words are listed in a table in a second Word document. I have taken and attempted to modify my macro from an earlier posting on this forum. It fails with the message "Named argument not found" on the statement 'HighlightColorIndex:=wdBrightGreen'. The code is: Sub Highlighting() Dim TableDoc As Document ' The document that contains the table Dim RefDoc As Document ' The document that is being referenced (highlighted) Dim cTable As Table Dim oFind As Range Dim i As Long Dim sFname As String 'Change the path to reflect where you have stored the table document. sFname = "C:\My Documents\Testing\Highlighting Macro.doc" Set RefDoc = ActiveDocument Set TableDoc = Documents.Open(sFname) Set cTable = TableDoc.Tables(1) RefDoc.Activate RefDoc.TrackRevisions = True For i = 1 To cTable.Rows.Count Set oFind = cTable.Cell(i, 1).Range oFind.End = oFind.End - 1 With Selection .HomeKey wdStory With .Find .ClearFormatting .Replacement.ClearFormatting .Execute findText:=oFind, _ MatchWholeWord:=True, _ MatchWildcards:=False, _ HighlightColorIndex:=wdBrightGreen, _ Forward:=True, _ Wrap:=wdFindContinue End With End With Next i TableDoc.Close wdDoNotSaveChanges RefDoc.TrackRevisions = False End Sub Any help would be appreciated. Thanks in anticipation. |
#4
![]()
Posted to microsoft.public.word.docmanagement
|
|||
|
|||
![]()
Thanks. I have made the change but the error message is the same:
Code is now as follows: Sub Highlighting() Dim TableDoc As Document ' The document that contains the table Dim RefDoc As Document ' The document that is being referenced (highlighted) Dim cTable As Table Dim oFind As Range Dim i As Long Dim sFname As String Dim lngHCI As Long 'Change the path to reflect where you have stored the table document. sFname = "C:\My Documents\Highlighting Macro.doc" Set RefDoc = ActiveDocument Set TableDoc = Documents.Open(sFname) Set cTable = TableDoc.Tables(1) RefDoc.Activate RefDoc.TrackRevisions = True lngHCI = Options.DefaultHighlightColorIndex Options.DefaultHighlightColorIndex = wdBrightGreen For i = 1 To cTable.Rows.Count Set oFind = cTable.Cell(i, 1).Range oFind.End = oFind.End - 1 MsgBox (oFind) 'Testing. This (correctly) displays all of the words in the table! With Selection .HomeKey wdStory With .Find .ClearFormatting .Replacement.ClearFormatting .Execute findText:=oFind, _ MatchWholeWord:=True, _ MatchWildcards:=False, _ Highlight:=True, _ Forward:=True, _ Wrap:=wdFindContinue End With End With Next i TableDoc.Close wdDoNotSaveChanges Options.DefaultHighlightColorIndex = lngHCI RefDoc.TrackRevisions = False End Sub "Greg Maxey" wrote: That is because "HighlightColorIndex" is not an argument. "Highlight" is an arguement that you can set to true, false or undefined. When set to true it will hightlight with the applications current highlight color. If brightgreen is not the current color then you could do something like this: Sub Highlighting() Dim lngHCI As Long lngHCI = Options.DefaultHighlightColorIndex Options.DefaultHighlightColorIndex = wdBrightGreen 'Your corrected code here. Options.DefaultHighlightColorIndex = lngHCI End Sub Grey Old Man wrote: I am a novice writing a Word macro where I wish to highlight a selection of words in a document. These pre-defined words are listed in a table in a second Word document. I have taken and attempted to modify my macro from an earlier posting on this forum. It fails with the message "Named argument not found" on the statement 'HighlightColorIndex:=wdBrightGreen'. The code is: Sub Highlighting() Dim TableDoc As Document ' The document that contains the table Dim RefDoc As Document ' The document that is being referenced (highlighted) Dim cTable As Table Dim oFind As Range Dim i As Long Dim sFname As String 'Change the path to reflect where you have stored the table document. sFname = "C:\My Documents\Testing\Highlighting Macro.doc" Set RefDoc = ActiveDocument Set TableDoc = Documents.Open(sFname) Set cTable = TableDoc.Tables(1) RefDoc.Activate RefDoc.TrackRevisions = True For i = 1 To cTable.Rows.Count Set oFind = cTable.Cell(i, 1).Range oFind.End = oFind.End - 1 With Selection .HomeKey wdStory With .Find .ClearFormatting .Replacement.ClearFormatting .Execute findText:=oFind, _ MatchWholeWord:=True, _ MatchWildcards:=False, _ HighlightColorIndex:=wdBrightGreen, _ Forward:=True, _ Wrap:=wdFindContinue End With End With Next i TableDoc.Close wdDoNotSaveChanges RefDoc.TrackRevisions = False End Sub Any help would be appreciated. Thanks in anticipation. . |
#5
![]()
Posted to microsoft.public.word.docmanagement
|
|||
|
|||
![]()
Thanks. I have made the change but the error message is the same:
Code is now as follows: Sub Highlighting() Dim TableDoc As Document ' The document that contains the table Dim RefDoc As Document ' The document that is being referenced (highlighted) Dim cTable As Table Dim oFind As Range Dim i As Long Dim sFname As String Dim lngHCI As Long 'Change the path to reflect where you have stored the table document. sFname = "C:\My Documents\Highlighting Macro.doc" Set RefDoc = ActiveDocument Set TableDoc = Documents.Open(sFname) Set cTable = TableDoc.Tables(1) RefDoc.Activate RefDoc.TrackRevisions = True lngHCI = Options.DefaultHighlightColorIndex Options.DefaultHighlightColorIndex = wdBrightGreen For i = 1 To cTable.Rows.Count Set oFind = cTable.Cell(i, 1).Range oFind.End = oFind.End - 1 MsgBox (oFind) 'Testing. This (correctly) displays all of the words in the table! With Selection .HomeKey wdStory With .Find .ClearFormatting .Replacement.ClearFormatting .Execute findText:=oFind, _ MatchWholeWord:=True, _ MatchWildcards:=False, _ Highlight:=True, _ Forward:=True, _ Wrap:=wdFindContinue End With End With Next i TableDoc.Close wdDoNotSaveChanges Options.DefaultHighlightColorIndex = lngHCI RefDoc.TrackRevisions = False End Sub "Greg Maxey" wrote: That is because "HighlightColorIndex" is not an argument. "Highlight" is an arguement that you can set to true, false or undefined. When set to true it will hightlight with the applications current highlight color. If brightgreen is not the current color then you could do something like this: Sub Highlighting() Dim lngHCI As Long lngHCI = Options.DefaultHighlightColorIndex Options.DefaultHighlightColorIndex = wdBrightGreen 'Your corrected code here. Options.DefaultHighlightColorIndex = lngHCI End Sub Grey Old Man wrote: I am a novice writing a Word macro where I wish to highlight a selection of words in a document. These pre-defined words are listed in a table in a second Word document. I have taken and attempted to modify my macro from an earlier posting on this forum. It fails with the message "Named argument not found" on the statement 'HighlightColorIndex:=wdBrightGreen'. The code is: Sub Highlighting() Dim TableDoc As Document ' The document that contains the table Dim RefDoc As Document ' The document that is being referenced (highlighted) Dim cTable As Table Dim oFind As Range Dim i As Long Dim sFname As String 'Change the path to reflect where you have stored the table document. sFname = "C:\My Documents\Testing\Highlighting Macro.doc" Set RefDoc = ActiveDocument Set TableDoc = Documents.Open(sFname) Set cTable = TableDoc.Tables(1) RefDoc.Activate RefDoc.TrackRevisions = True For i = 1 To cTable.Rows.Count Set oFind = cTable.Cell(i, 1).Range oFind.End = oFind.End - 1 With Selection .HomeKey wdStory With .Find .ClearFormatting .Replacement.ClearFormatting .Execute findText:=oFind, _ MatchWholeWord:=True, _ MatchWildcards:=False, _ HighlightColorIndex:=wdBrightGreen, _ Forward:=True, _ Wrap:=wdFindContinue End With End With Next i TableDoc.Close wdDoNotSaveChanges RefDoc.TrackRevisions = False End Sub Any help would be appreciated. Thanks in anticipation. . |
#6
![]()
Posted to microsoft.public.word.docmanagement
|
|||
|
|||
![]()
Assuming that you want all the words listed to be highlighted in Green :-
Sub Highlighting() Dim oChanges As Document, oDoc As Document Dim oTable As Table Dim oRng As Range Dim rFindText As Range Dim i As Long Dim sFname As String sFname = "C:\My Documents\Highlighting Macro.doc" Set oDoc = ActiveDocument Set oChanges = Documents.Open(sFname) Set oTable = oChanges.Tables(1) For i = 1 To oTable.Rows.Count Set oRng = oDoc.Range Set rFindText = oTable.Cell(i, 1).Range rFindText.End = rFindText.End - 1 With oRng.Find .ClearFormatting .Replacement.ClearFormatting Do While .Execute(findText:=rFindText, _ MatchWholeWord:=True) = True oRng.HighlightColorIndex = wdBrightGreen Loop End With Next i oChanges.Close wdDoNotSaveChanges End Sub -- Graham Mayor - Word MVP My web site www.gmayor.com Word MVP web site http://word.mvps.org "Grey Old Man" wrote in message ... Thanks. I have made the change but the error message is the same: Code is now as follows: Sub Highlighting() Dim TableDoc As Document ' The document that contains the table Dim RefDoc As Document ' The document that is being referenced (highlighted) Dim cTable As Table Dim oFind As Range Dim i As Long Dim sFname As String Dim lngHCI As Long 'Change the path to reflect where you have stored the table document. sFname = "C:\My Documents\Highlighting Macro.doc" Set RefDoc = ActiveDocument Set TableDoc = Documents.Open(sFname) Set cTable = TableDoc.Tables(1) RefDoc.Activate RefDoc.TrackRevisions = True lngHCI = Options.DefaultHighlightColorIndex Options.DefaultHighlightColorIndex = wdBrightGreen For i = 1 To cTable.Rows.Count Set oFind = cTable.Cell(i, 1).Range oFind.End = oFind.End - 1 MsgBox (oFind) 'Testing. This (correctly) displays all of the words in the table! With Selection .HomeKey wdStory With .Find .ClearFormatting .Replacement.ClearFormatting .Execute findText:=oFind, _ MatchWholeWord:=True, _ MatchWildcards:=False, _ Highlight:=True, _ Forward:=True, _ Wrap:=wdFindContinue End With End With Next i TableDoc.Close wdDoNotSaveChanges Options.DefaultHighlightColorIndex = lngHCI RefDoc.TrackRevisions = False End Sub "Greg Maxey" wrote: That is because "HighlightColorIndex" is not an argument. "Highlight" is an arguement that you can set to true, false or undefined. When set to true it will hightlight with the applications current highlight color. If brightgreen is not the current color then you could do something like this: Sub Highlighting() Dim lngHCI As Long lngHCI = Options.DefaultHighlightColorIndex Options.DefaultHighlightColorIndex = wdBrightGreen 'Your corrected code here. Options.DefaultHighlightColorIndex = lngHCI End Sub Grey Old Man wrote: I am a novice writing a Word macro where I wish to highlight a selection of words in a document. These pre-defined words are listed in a table in a second Word document. I have taken and attempted to modify my macro from an earlier posting on this forum. It fails with the message "Named argument not found" on the statement 'HighlightColorIndex:=wdBrightGreen'. The code is: Sub Highlighting() Dim TableDoc As Document ' The document that contains the table Dim RefDoc As Document ' The document that is being referenced (highlighted) Dim cTable As Table Dim oFind As Range Dim i As Long Dim sFname As String 'Change the path to reflect where you have stored the table document. sFname = "C:\My Documents\Testing\Highlighting Macro.doc" Set RefDoc = ActiveDocument Set TableDoc = Documents.Open(sFname) Set cTable = TableDoc.Tables(1) RefDoc.Activate RefDoc.TrackRevisions = True For i = 1 To cTable.Rows.Count Set oFind = cTable.Cell(i, 1).Range oFind.End = oFind.End - 1 With Selection .HomeKey wdStory With .Find .ClearFormatting .Replacement.ClearFormatting .Execute findText:=oFind, _ MatchWholeWord:=True, _ MatchWildcards:=False, _ HighlightColorIndex:=wdBrightGreen, _ Forward:=True, _ Wrap:=wdFindContinue End With End With Next i TableDoc.Close wdDoNotSaveChanges RefDoc.TrackRevisions = False End Sub Any help would be appreciated. Thanks in anticipation. . |
#7
![]()
Posted to microsoft.public.word.docmanagement
|
|||
|
|||
![]() Assuming that you want all the words listed to be highlighted in Green :- Sub Highlighting() Dim oChanges As Document, oDoc As Document Dim oTable As Table Dim oRng As Range Dim rFindText As Range Dim i As Long Dim sFname As String sFname = "C:\My Documents\Highlighting Macro.doc" Set oDoc = ActiveDocument Set oChanges = Documents.Open(sFname) Set oTable = oChanges.Tables(1) For i = 1 To oTable.Rows.Count Set oRng = oDoc.Range Set rFindText = oTable.Cell(i, 1).Range rFindText.End = rFindText.End - 1 With oRng.Find .ClearFormatting .Replacement.ClearFormatting Do While .Execute(findText:=rFindText, _ MatchWholeWord:=True) = True oRng.HighlightColorIndex = wdBrightGreen Loop End With Next i oChanges.Close wdDoNotSaveChanges End Sub -- Graham Mayor - Word MVP My web site www.gmayor.com Word MVP web site http://word.mvps.org "Grey Old Man" wrote in message ... Thanks. I have made the change but the error message is the same: Code is now as follows: Sub Highlighting() Dim TableDoc As Document ' The document that contains the table Dim RefDoc As Document ' The document that is being referenced (highlighted) Dim cTable As Table Dim oFind As Range Dim i As Long Dim sFname As String Dim lngHCI As Long 'Change the path to reflect where you have stored the table document. sFname = "C:\My Documents\Highlighting Macro.doc" Set RefDoc = ActiveDocument Set TableDoc = Documents.Open(sFname) Set cTable = TableDoc.Tables(1) RefDoc.Activate RefDoc.TrackRevisions = True lngHCI = Options.DefaultHighlightColorIndex Options.DefaultHighlightColorIndex = wdBrightGreen For i = 1 To cTable.Rows.Count Set oFind = cTable.Cell(i, 1).Range oFind.End = oFind.End - 1 MsgBox (oFind) 'Testing. This (correctly) displays all of the words in the table! With Selection .HomeKey wdStory With .Find .ClearFormatting .Replacement.ClearFormatting .Execute findText:=oFind, _ MatchWholeWord:=True, _ MatchWildcards:=False, _ Highlight:=True, _ Forward:=True, _ Wrap:=wdFindContinue End With End With Next i TableDoc.Close wdDoNotSaveChanges Options.DefaultHighlightColorIndex = lngHCI RefDoc.TrackRevisions = False End Sub "Greg Maxey" wrote: That is because "HighlightColorIndex" is not an argument. "Highlight" is an arguement that you can set to true, false or undefined. When set to true it will hightlight with the applications current highlight color. If brightgreen is not the current color then you could do something like this: Sub Highlighting() Dim lngHCI As Long lngHCI = Options.DefaultHighlightColorIndex Options.DefaultHighlightColorIndex = wdBrightGreen 'Your corrected code here. Options.DefaultHighlightColorIndex = lngHCI End Sub Grey Old Man wrote: I am a novice writing a Word macro where I wish to highlight a selection of words in a document. These pre-defined words are listed in a table in a second Word document. I have taken and attempted to modify my macro from an earlier posting on this forum. It fails with the message "Named argument not found" on the statement 'HighlightColorIndex:=wdBrightGreen'. The code is: Sub Highlighting() Dim TableDoc As Document ' The document that contains the table Dim RefDoc As Document ' The document that is being referenced (highlighted) Dim cTable As Table Dim oFind As Range Dim i As Long Dim sFname As String 'Change the path to reflect where you have stored the table document. sFname = "C:\My Documents\Testing\Highlighting Macro.doc" Set RefDoc = ActiveDocument Set TableDoc = Documents.Open(sFname) Set cTable = TableDoc.Tables(1) RefDoc.Activate RefDoc.TrackRevisions = True For i = 1 To cTable.Rows.Count Set oFind = cTable.Cell(i, 1).Range oFind.End = oFind.End - 1 With Selection .HomeKey wdStory With .Find .ClearFormatting .Replacement.ClearFormatting .Execute findText:=oFind, _ MatchWholeWord:=True, _ MatchWildcards:=False, _ HighlightColorIndex:=wdBrightGreen, _ Forward:=True, _ Wrap:=wdFindContinue End With End With Next i TableDoc.Close wdDoNotSaveChanges RefDoc.TrackRevisions = False End Sub Any help would be appreciated. Thanks in anticipation. . |
Reply |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Display selected text as white text with black highlight? | Microsoft Word Help | |||
How to highlight Text, but only print text not highlight | Microsoft Word Help | |||
How do I highlight text when recording a macro? | Microsoft Word Help | |||
Need a easy Macro to highlight form focus | Microsoft Word Help | |||
Highlight text, then Save As will use text as file name | Microsoft Word Help |