если не суждено темке жить ну и х с ней
волею судеб приходитца работать с пакетом мс офис для оформления документов
чтобы уже выполненную документацию в ворде можно было безболезненно использовать повторно как часть другого документа или включать ее туда целиком (не внося изменений) пришлось попотеть и изучить все эти стили форматирование и т.д.
но остаютца (для меня по крайней мере) еще некоторые вещи которые пока не решены (например удобная нумерация формул таблиц и т.д.)
недавно столкнулся с оформлением доков по коду c++
мне захотелось чтобы ключевые слова были окрашены в синий т.к. легче читаетца (привычней)
но вручную находить их в скопипастеном фрагменте кода очень грустно
так и родился макрос который красит синим ключевые слова c++ в текущем выделении
Option Explicit
Sub ColorCppKeywords()
'macro colors keywords in selection with blue color
If Selection.Type <> wdSelectionIP Then
Dim keywords(62) As String
keywords(0) = "asm" 'c++ keywords
keywords(1) = "auto" '63 items
keywords(2) = "bool"
keywords(3) = "break"
keywords(4) = "case"
keywords(5) = "catch"
keywords(6) = "char"
keywords(7) = "class"
keywords(8) = "const"
keywords(9) = "const_cast"
keywords(10) = "continue"
keywords(11) = "default"
keywords(12) = "delete"
keywords(13) = "do"
keywords(14) = "double"
keywords(15) = "dynamic_cast"
keywords(16) = "else"
keywords(17) = "enum"
keywords(18) = "explicit"
keywords(19) = "export"
keywords(20) = "extern"
keywords(21) = "false"
keywords(22) = "float"
keywords(23) = "for"
keywords(24) = "friend"
keywords(25) = "goto"
keywords(26) = "if"
keywords(27) = "inline"
keywords(28) = "int"
keywords(29) = "long"
keywords(30) = "mutable"
keywords(31) = "namespace"
keywords(32) = "new"
keywords(33) = "operator"
keywords(34) = "private"
keywords(35) = "protected"
keywords(36) = "public"
keywords(37) = "register"
keywords(38) = "reinterpret_cast"
keywords(39) = "return"
keywords(40) = "short"
keywords(41) = "signed"
keywords(42) = "sizeof"
keywords(43) = "static"
keywords(44) = "static_cast"
keywords(45) = "struct"
keywords(46) = "switch"
keywords(47) = "template"
keywords(48) = "this"
keywords(49) = "throw"
keywords(50) = "true"
keywords(51) = "try"
keywords(52) = "typedef"
keywords(53) = "typeid"
keywords(54) = "typename"
keywords(55) = "union"
keywords(56) = "unsigned"
keywords(57) = "using"
keywords(58) = "virtual"
keywords(59) = "void"
keywords(60) = "volatile"
keywords(61) = "wchar_t"
keywords(62) = "while"
Dim rng As Range
Dim i As Integer
For i = 0 To 62
Set rng = Selection.Range
With rng.Find
.ClearFormatting
.Text = keywords(i)
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
Do While .Execute And rng.InRange(Selection.Range)
rng.Font.Color = wdColorBlue
Loop
End With
Next i
End If
End Sub