Автор Тема: делимся опытом: MS Office и др.  (Прочитано 952 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Пабло Бартолле

  • Ветеран
  • *****
  • Сообщений: 3043
  • Карма: 129
  • Пол: Мужской
  • аллергия на чушь
    • Просмотр профиля
если не суждено темке жить ну и х с ней
волею судеб приходитца работать с пакетом мс офис для оформления документов
чтобы уже выполненную документацию в ворде можно было безболезненно использовать повторно как часть другого документа или включать ее туда целиком (не внося изменений) пришлось попотеть и изучить все эти стили форматирование и т.д.
но остаютца (для меня по крайней мере) еще некоторые вещи которые пока не решены (например удобная нумерация формул таблиц и т.д.)
недавно столкнулся с оформлением доков по коду 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
вам стоит боятца меня на дороге по двум причинам:
- я сдал на права
- я сдал на права с шестого раза...