Программирования Visual Basic

Для записи макроса с помощью встроенного языка программирования Visual Basic введите команду Сервис, Макрос, Редактор Visual Basic – открывается окно разработки проекта.

Введите команду Insert, Module – открывается окно разработки программы Module1. Введите команду Insert, Procedure – открывается окно добавления процедуры Add Procedure. Введите имя процедуры, например, Codirovca, установите переключатели Sub – ключевое слово заголовка процедуры и Public – общая (процедура будет доступна всем формам проекта) и щелкните по кнопке ОК – программа возвращается в окно проекта Module1. В этом окне появится шаблон процедуры, две строки команд между которыми необходимо записать текст программы:

Public Sub Codirovca()

End Sub

 
 

Если Вы умеете программировать или позаимствовали текст понравившейся процедуры у товарища, напишите здесь или скопируйте сюда текст программы. Часто бывает, что мы забываем переключить клавиатуру с русского на английский текст или наоборот, и тогда досадуем на себя за такую оплошность. Проблему легко устранить с помощью программы, текст которой приведен ниже.

Rem Программа перекодировки текста с русского на английский и наоборот

Public Sub Codirovka() ‘ заголовок процедуры

On Error Resume Next ‘ обработчик ошибок

‘ Объявление переменных:

Dim n As Integer, strSetRus As String, strSetEng As String

Dim strMisStr As String, strCurrChar As String

Dim strNewStr As String, numChrPos As Integer

‘ strMisStr – пременная для хранения ошибочного текста

strMisStr = Selection.Text ‘ присвоение выделенной строки переменной

‘ strSetEng – строка, содержащая символы английского языка

strSetEng = "QWERTYUIOP{}ASDFGHJKL:ZXCVBNM<>qwertyuiop[]asdfghjkl; zxcvbnm,."

‘ strSetRus - строка, содержащая символы русского алфавита

‘ русские и английские символы записаны не в алфавитном порядке,

‘ а в соответствии с раскладкой клавиатуры

strSetRus="ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЯЧСМИТЬБЮйцукенгшщзхъфы

вапролджячсмитьбю"

‘ цикл: извлекается символ из строки с ошибочным текстом и сравнивается со

‘ строками, содержащими английский и русский текст. Если в ошибочной

‘ строке английский текст, то он будет заменен на русский и наоборот

‘ исправленный текст помещается в переменную strNewStr

For n = 1 To Len(strMisStr)

strCurrChar = Mid(strMisStr, n, 1)

numChrPos = InStr(strSetEng, strCurrChar)

If numChrPos <> 0 Then

strCurrChar = Mid(strSetRus, numChrPos, 1)

Else

numChrPos = InStr(strSetRus, strCurrChar)

strCurrChar = Mid(strSetEng, numChrPos, 1)

End If

strNewStr = strNewStr & strCurrChar

Next n

‘ выделенному тексту присваивается новая строка

Selection.Text = strNewStr

End Sub

Когда программа будет написана, сохраните ее на диске командой File, Save Normal, а затем вернитесь в документ командой File, Close and Returnto Microsoft Word. Наша программа попала в список макросов.

Чтобы применить ее, выделите ошибочный текст и введите команду Сервис, Макрос, Макросы. Выделите макрос Codirovka и щелкните по кнопке Выполнить. Для удобства использования назначьте макрос комбинации клавиш или кнопке панели инструментов, как описано выше в данном разделе.

[БВЛ1]