Всем привет!
На самом деле все просто, как два пальца об асфальт! :-)
Жмешь в Ворде Сервис - Макрос - Начать запись. Появляется маленькая
панелька, где можно выбрать свойства, название и сочетание клавиш (я
поставил Ctrl+Shift+C) и ОК. Началась запись твоего макроса. Появится
совсем маленькая панелька - почти как в плеере. Все. Жмешь кнопку
остановить запись. Далее Сервис - Макрос - Макросы (или Alt+F8) и
открываешь Вижуал Басик. Точнее сначала появится окошко со списком
всех макросов. Выбираешь свой и жмешь Изменить. Вот тут то и откроется
наш Басик. Будет что-то типа:
Sub _твое_название_()
'
' _твое_название_ Макрос
' Макрос записан 16.09.2005
'
End Sub
Это и есть твой макрос! Теперь берешь следующий текст и вставляешь
ПОСЛЕ апострофа и перед End Sub. Макрос построен на простой подмене
символов в зависимости от регистра и работает в направлении лат->кир.,
т.е. должен прокатить для любого языка, использующего стандартную
латинскую раскладку.
Обратно пока не был нужен :-) Но его можно сделать простой
перестановкой.
'
a = Selection ' копируем выделенный текст в переменную a
Selection.Delete ' удаляем выделенный текст, он нам больше
не нужен
For i = 1 To Len(a) ' начало цикла. В цикле посимвольно
перебирается переменная a и символы английской клавиатуры заменяются на
русские.
Select Case Mid(a, i, 1) '
Case "`"
Mid(a, i, 1) = "ё"
Case "q"
Mid(a, i, 1) = "й"
Case "w"
Mid(a, i, 1) = "ц"
Case "e"
Mid(a, i, 1) = "у"
Case "r"
Mid(a, i, 1) = "к"
Case "t"
Mid(a, i, 1) = "е"
Case "y"
Mid(a, i, 1) = "н"
Case "u"
Mid(a, i, 1) = "г"
Case "i"
Mid(a, i, 1) = "ш"
Case "o"
Mid(a, i, 1) = "щ"
Case "p"
Mid(a, i, 1) = "з"
Case "["
Mid(a, i, 1) = "х"
Case "]"
Mid(a, i, 1) = "ъ"
Case "a"
Mid(a, i, 1) = "ф"
Case "s"
Mid(a, i, 1) = "ы"
Case "d"
Mid(a, i, 1) = "в"
Case "f"
Mid(a, i, 1) = "а"
Case "g"
Mid(a, i, 1) = "п"
Case "h"
Mid(a, i, 1) = "р"
Case "j"
Mid(a, i, 1) = "о"
Case "k"
Mid(a, i, 1) = "л"
Case "l"
Mid(a, i, 1) = "д"
Case ";"
Mid(a, i, 1) = "ж"
Case "'"
Mid(a, i, 1) = "э"
Case """"
Mid(a, i, 1) = "Э"
Case "z"
Mid(a, i, 1) = "я"
Case "x"
Mid(a, i, 1) = "ч"
Case "c"
Mid(a, i, 1) = "с"
Case "v"
Mid(a, i, 1) = "м"
Case "b"
Mid(a, i, 1) = "и"
Case "n"
Mid(a, i, 1) = "т"
Case "m"
Mid(a, i, 1) = "ь"
Case ","
Mid(a, i, 1) = "б"
Case "."
Mid(a, i, 1) = "ю"
Case "/"
Mid(a, i, 1) = "."
Case "~"
Mid(a, i, 1) = "Ё"
Case "Q"
Mid(a, i, 1) = "Й"
Case "W"
Mid(a, i, 1) = "Ц"
Case "E"
Mid(a, i, 1) = "У"
Case "R"
Mid(a, i, 1) = "К"
Case "T"
Mid(a, i, 1) = "Е"
Case "Y"
Mid(a, i, 1) = "Н"
Case "U"
Mid(a, i, 1) = "Г"
Case "I"
Mid(a, i, 1) = "Ш"
Case "O"
Mid(a, i, 1) = "Щ"
Case "P"
Mid(a, i, 1) = "З"
Case "{"
Mid(a, i, 1) = "Х"
Case "}"
Mid(a, i, 1) = "Ъ"
Case "A"
Mid(a, i, 1) = "Ф"
Case "S"
Mid(a, i, 1) = "Ы"
Case "D"
Mid(a, i, 1) = "В"
Case "F"
Mid(a, i, 1) = "А"
Case "G"
Mid(a, i, 1) = "П"
Case "H"
Mid(a, i, 1) = "Р"
Case "J"
Mid(a, i, 1) = "О"
Case "K"
Mid(a, i, 1) = "Л"
Case "L"
Mid(a, i, 1) = "Д"
Case ":"
Mid(a, i, 1) = "Ж"
Case "Z"
Mid(a, i, 1) = "Я"
Case "X"
Mid(a, i, 1) = "Ч"
Case "C"
Mid(a, i, 1) = "С"
Case "V"
Mid(a, i, 1) = "М"
Case "B"
Mid(a, i, 1) = "И"
Case "N"
Mid(a, i, 1) = "Т"
Case "M"
Mid(a, i, 1) = "Ь"
Case "<"
Mid(a, i, 1) = "Б"
Case ">"
Mid(a, i, 1) = "Ю"
Case "?"
Mid(a, i, 1) = ","
Case "@"
Mid(a, i, 1) = """"
Case "#"
Mid(a, i, 1) = ""
Case "$"
Mid(a, i, 1) = ";"
Case "%"
Mid(a, i, 1) = "%"
Case "^"
Mid(a, i, 1) = ":"
Case "&"
Mid(a, i, 1) = "?"
Case Else
End Select
Next i ' ну вот и все.
Selection.InsertAfter Text:=a ' осталось только вывести результат.
End Sub
Успехов!
ПыСы. Однозначно работает под Ворд ХР, 2000.