![]() |
Need help with a macro
Sorry if this is an inappropriate post for this area, but I'm not getting
very much of a response at the Word.vba site. When copying text from the IDE into a Word document, I would like to have the format match the format in the IDE, specifically changing the color of the font of the commented lines. I have written the following which does what I want for a particular line: Selection.Find.ClearFormatting With Selection.Find .Text = "'" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True End With Selection.Find.Execute With Selection .EndKey Unit:=wdLine, Extend:=wdExtend .Font.Color = wdColorGreen .MoveDown Unit:=wdLine, Count:=1 .HomeKey Unit:=wdLine End With As you might have guessed, this works one instance at a time. It finds the next instance of "*", changes the entire line to green, moves one line down, goes to the first character position in that line and stops. What do I need to add to make this routine check the entire document? Thanks, Bill Allen |
Need help with a macro
You could loop through the paragraphs, e.g.:
'============================== Sub TestFormat() Dim i As Integer Selection.HomeKey unit:=wdStory For i = 1 To ActiveDocument.Paragraphs.Count Selection.Find.ClearFormatting With Selection.Find .Text = "'" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True End With Selection.Find.Execute With Selection .EndKey unit:=wdLine, Extend:=wdExtend .Font.Color = wdColorGreen .MoveDown unit:=wdLine, Count:=1 .HomeKey unit:=wdLine End With i = i + 1 Next i End Sub '============================= Bill Allen wrote: Sorry if this is an inappropriate post for this area, but I'm not getting very much of a response at the Word.vba site. When copying text from the IDE into a Word document, I would like to have the format match the format in the IDE, specifically changing the color of the font of the commented lines. I have written the following which does what I want for a particular line: Selection.Find.ClearFormatting With Selection.Find .Text = "'" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True End With Selection.Find.Execute With Selection .EndKey Unit:=wdLine, Extend:=wdExtend .Font.Color = wdColorGreen .MoveDown Unit:=wdLine, Count:=1 .HomeKey Unit:=wdLine End With As you might have guessed, this works one instance at a time. It finds the next instance of "*", changes the entire line to green, moves one line down, goes to the first character position in that line and stops. What do I need to add to make this routine check the entire document? Thanks, Bill Allen -- Debra Dalgleish Excel FAQ, Tips & Book List http://www.contextures.com/tiptech.html |
All times are GMT +1. The time now is 12:11 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com