baston
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору pribush Я поправил макрос, ибо он форматировал не текущий абзац, а первый, и во-вторых, он искал только первый символ из слов-паразитов. Вот код: Код: Sub selectWords() '********************* 'Выделяем в текущем параграфе: ' слова, содержащие нечетное количество букв, красным цветом ' слова, содержащие четное количество букв, синим цветом '@wordexpert.ru, 2009 '********************* Dim oWrd As Range Dim parazit As String Dim i As Long parazit = ",.;:!?""'|/*+-=()[]{}_`~%^@" 'символы-паразиты For Each oWrd In Selection.Paragraphs(1).Range.Words If (InStr(parazit, RTrim(oWrd)) = 0) And (oWrd <> Chr(13)) Then oWrd.Select 'удаляем пробелы справа от диапазона, если они есть With Selection If Right(.Range, 1) = Chr(32) Then .MoveLeft unit:=wdCharacter, Count:=1, Extend:=wdExtend Set oWrd = .Range End If End With 'определяем количество символов в словах и их четность или нечетность If Len(RTrim(oWrd)) Mod 2 = 0 Then oWrd.HighlightColorIndex = wdBlue Else oWrd.HighlightColorIndex = wdRed End If End If Next oWrd End Sub | Добавлено: suomifinland Возможно. Для этого надо использовать автомакрос AutoOpen. Например, так: Код: Sub AutoOpen() With ActiveDocument.Range.Font .Name = "Times New Roman" .Size = 16 .ColorIndex = wdBlack End With End Sub |
|