Сделать это не просто, а очень просто. Что касается запуска редактора в специальной русифицированной программе VBA Microsoft 32, то тут никаких особых указаний не требуется. Кликаете на иконке - а затем выбираете в особом окне проект ( или создаете новый ). Здесь я, кстати, рекомендую воспользоваться меню "Создать" - "Файл ЕХЕ".
Для запуска в Worde или Excel наведите курсор на пустое место меню и щелкните правой клавишей мыши. На экране появится меню, среди строк которого ( третьей строкой ) будет "Visual Basic". Нажимаем - появляется окошечко с кнопками. Кнопка редактора будет следовать сразу за кнопкой "Безопасность". Нажимаем ее и входим в редактор. Можно поступить и так. Выбрать команду меню Сервис - Макрос - Редактор Visual Basic ( Tools - Macro - Visual Basic Editor ) или нажать комбинацию клавиш ALT - F11. Выход из редактора - используется комбинация клавиш ALT-Q.
--
КАКИЕ ОКНА ЕСТЬ В РЕДАКТОРЕ VBA.
Основных окон три.
--
Окно проекта ( Project Explorer ). Именно благодаря ему мы получаем доступ к коду программы и формам пользователя.
--
Окно свойств ( Properites Window ). Благодаря ему мы можем менять свойства любых объектов, будь то форма пользователя, проект или модуль.
--
Окно программного кода ( Code Window ). Здесь можно создавать и редактировать саму программу - то есть программный код, который будет выполняться ЭВМ.
Некоторые полезные клавиши для работы с окнами:
2.4.1. Вызвать окно обозревателя объектов - F2.
2.4.2. Вызвать окно свойств - F4.
2.4.3. Открыть окно методов ( свойств ) в коде - CTRL - J.
--
КАК ВСТАВИТЬ НОВУЮ ФОРМУ И ЭЛЕМЕНТЫ УПРАВЛЕНИЯ?
Нажмите Вставить - Форма пользователя ( Insert - UserForm ). Если вы уже создали форму, откройте ее, дважды щелкнув мышью на ее названии. В результате в основном окне на экране появится форма, а рядом (UserForm или просто Form ) с ней - Панель элементов, состоящая из 15 элементов управления. Все они могут быть помещены внутрь формы. Но для того, чтобы они работали, к каждому из них нужно будет написать код ( для обработки события, например, клика мышью ).
Есть и другой способ. В окне проектов выберите в меню правой кнопки мыши команду View Object.
--
КАК ДОБАВИТЬ ИЛИ ПЕРЕИМЕНОВАТЬ НОВЫЙ МОДУЛЬ В ПРОЕКТЕ?
Элементарно, Ватсон! Найдите нужный проект. Запустите редактор VBA ( можно это сделать, например, нажав ALT - F11 ). Затем в окне Project Explorer выделите проект или его часть. После чего выберите команду Редактора VBA Добавить - Модуль ( Insert - Module ). Другой способ - щелкните на кнопку Insert панели инструментов Standard и укажите на пункт Module.
Вы наверняка захотите, чтобы у модуля было собственное имя. Для этого его можно переименовать. Воспользуйтесь меню, командой Вид - Окно свойств ( View - Properties Window ) или щелкните на кнопке панели инструментов Properties. На экране появится окно свойств модуля. После чего в текстовом поле Name ( напротив его ) на вкладке Alphabetic введите нужное имя модуля.
--
КАК НАПИСАТЬ ПРОСТЕЙШУЮ ПРОГРАММУ НА VBA?
Попробуем написать простую процедуру - программу для выполнения в VBA. Допустим, она будет выводить на экран приветствие. Вот как будет выглядеть ее текст в окне программного кода:
Sub Приветствие ()
MsgBox ("Доброго времени суток, дорогой пользователь. Вас приветствует программа Современный русский литературный язык 2!")
End Sub
Для начала создаем модуль с именем "Приветствие". Затем в окне программного кода модуля ( основное окно программы ) вводим текст. Для этого:
5.1. Открываем документ Word ( Или Excel ).
5.2. Запускаем редактор VBA.
5.3. Находим окно Project Explorer и выделяем нужный проект, внутри которого будет работать программа ( процедура ).
5.4. Добавляем модуль ( Insert - Module ).
5.5. Присваиваем модулю имя "Приветствие".
5.6. В окне программного кода вводим приведенный выше текст.
--
КАК СДЕЛАТЬ КНОПКУ ДЛЯ ЗАПУСКА ПРОГРАММЫ В WORDe?
В среде VBA ( специальная программа ) делать кнопку не требуется. Сразу создается исполняемый EXE-файл, при запуске которого открывается первая созданная Вами форма пользователя ( Form или UserForm ). Другое дело - Word.
Здесь необходимо навести курсор на пустое место меню и нажать правую клавишу мыши. Затем выбрать в выпадающем меню строку "Редактор Visual Basic". Появится окошко с кнопками. Нажимаете кнопку "Панель инструментов управления" ( с рисунком молотка и гаечного ключа ). Появляется панель элементов. Нажимаете элемент "Кнопка". Он сразу вставляется в документ. Наводите на него курсор, нажимаете правую кнопку мыши и затем - пункт меню "Исходный текст". Открывается окно программного кода с уже обозначенной процедурой обработки события. Вводите в него процедуру вызова нужной вам экранной формы. Например:
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
Готово! Ай молодца!
--
КАК НАЗНАЧИТЬ КОМБИНАЦИЮ КЛАВИШ ДЛЯ ВЫЗОВА ПРОГРАММЫ?
В Worde:
7.1. Нажмите меню Сервис - Настройка - Команды.
7.2. Нажмите Клавиатура - Настройка клавиатуры. В списке "Категория" выберите значение "Макросы".
7.3. В списке "Макросы" найдите имя своей программы. В поле "Сочетание коавиш" назначьте сочетание.
7.5.2. В "Имени макроса" найдите нужную программу и щелкните кнопку "Параметры".
7.5.3. Раскроется окно "Параметры макроса". Введите клавишу, которая будет вместе с CTRL использоваться для вызова данной программы.
7.5.4. Щелкните ОК.
--
КАК ПРИСВОИТЬ ЗНАЧЕНИЕ ПЕРЕМЕННОЙ?
Вот пример части программы с присвоением значения переменной. Комментарии, которые не выполняются ЭВМ, а предназначены для любопытствующего зрителя, приведены после ' ( черточки вверху ).
` Вычисление значения
Sub Сложение ()
а = 5 ' переменная а равна 5
b = 14 ' переменная b равна 14
` Отображение результата на экране
MsgBox a + b
End Sub
--
КАКИЕ ОПЕРАТОРЫ ИСПОЛЬЗУЮТСЯ В VBA?
--
Оператор присваивания. Реализуется через знак равенства:
А = x + y
B = 5
9.2. Арифметические операторы.
+ Сложение
- Вычитание
* Умножение
/ Деление
--
Логические операторы.
And - Конъюнкция ( логическое И )
Or - Дизъюнкция ( логическое ИЛИ )
Not - Отрицание ( логическое НЕТ )
Хоr - Исключение ( логическое исключающее ИЛИ )
Imp - Логическая импликация
Eqv - логическая эквивалентность.
--
Операторы сравнения.
= Равно
--
Больше
< меньше
>= Больше или равно
<= Меньше или равно
--
Не равно
Приоритеты операторов ( в первую очередь выполняются те, что стоят выше ):
--
^ Возведение в степень.
--
* / Умножение, деление.
--
/ Деление без остатка
--
Mod Остаток
--
+ - Сложение, вычитание.
10. ПРИМЕР РАБОТЫ С ПЕРЕМЕННЫМИ ( ПРОГРАММА "ВАШИ ПРОФЕССИИ" )
Вот фрагмент аннотации к моей программе "Ваши профессии": "Программа, которая позволит при наличии Натальной карты определить Ваше призвание или предпочтительную сферу деятельности.
Рассмотрите аспекты в Натальной карте. Выделите активные дома и активных управителей домов. Теперь нужно лишь проставить галочки напротив аспектов и активных точек гороскопа и нажать клавишу "Подсчитать". Напротив каждой профессии вы увидите баллы, сложив которые, получите результат".
Для осуществления маленькой мечты - создания программы - необходимо было:
1. Объявить переменные.
2. Присвоить им значения в соответствии с выбором пользователя.
3. Вывести итог подсчетов значений на экран программы.
Переменные объявлялись прямо в тексте кода UserForm1 - основной формы программы ( еще, к слову, были две формы - "Справка" и "Об авторе" ).
Вот как это выглядело:
Dim p1, p2, p3, mat1, mat2, mat3, ast1, ast2, him1, him2, him3, him4, buh1, buh2, buh3, uve1, uve2, uve3 As Single
Dim est1, est2, est3, est4, mod1, mod2, mod3, mod4, mod5, mod6, akt1, akt2, muz1, muz2, muz3, muz4, muz5, muz6, muz7, muz8, muz9 As Single
Dim mi1, mi2, to1, to2, to3, to4, to5, vo1, vo2, vo3, as1, as2, as3, as4, uri1, uri2, uri3, uri4, uri5, uri6, uri7, uri8, uri9 As Single
Dim p, ma, him, buh, uvet, est, moda, akt, muz, ino, men, reg, vr, upr, sek, biz, str, pute, mi, toka, vo, ast, uri As Single
Как видите, не мудрствуя лукаво, все переменные были объявлены типа Single. Dim - начало процедуры для объявления переменной. Затем следует список переменных.
Кроме того, переменные еще и слагались.
Правда, большого толка от этого не вышло. Пользователю самому приходилось складывать значения, выводимые на экран программой.
11. ПРИМЕР РАБОТЫ С ЧЕКБОКСАМИ ( ПРОГРАММА "ВАШИ ПРОФЕССИИ" )
CheckBox - один из инструментов, доступных в среде программирования. Пользователь ставит галочку в этом боксе, - напротив описания, тем самым подтверждая его соответствие действительности. Если галочка поставлена, в соответствующем текстовом поле на экране выводится числовое значение, соответствующее ее "весу" при дальнейших подсчетах.
Например,
If CheckBox1.Value = True Then
TextBox1.Text = 2
End If
If CheckBox3.Value = True Then
TextBox3.Text = 2
TextBox8.Text = 4
End If
Свойство Value чекбокса - истинно ( галочка поставлена ), значит в соответствующем ТЕКСТОВОМ ПОЛЕ на экране появляется нужная цифирка.
12. ПРИМЕР РАБОТЫ С ПЕРЕМЕННЫМИ ( ПРОГРАММА "ЮНИКУМ" )
В программе "Юникум" необходимо было подсчитать общую сумму баллов, соответствующих значению вероятности Асцедента в знаке зодиака.
Пользователь со своей стороны ставил галочки в чекбоксах. Затем нажимал кнопку "Сложить". В текстовом поле напротив этой кнопки появлялось суммарное значение вероятности Асцедента в этом знаке гороскопа.
Переменная здесь работала - в отличие от программы "Ваши профессии". Она объявлялась прямо в процедуре обработки события клика по командной кнопке.
Private Sub CommandButton7_Click()
Dim ctr_1 As Single
If CheckBox1.Value = True Then
ctr_1 = ctr_1 + 3
End If
If CheckBox2.Value = True Then
ctr_1 = ctr_1 + 1
End If
If CheckBox3.Value = True Then
ctr_1 = ctr_1 + 2
End If
И так далее.
Здесь ctr_1 - это переменная, которая меняла свое значение - в зависимости от того, поставлена ли галочка ( Value = True ) в чекбоксе.
Завершалось работа с переменной выводом ее значения на экран - в той же процедуре обработки клика командной кнопки, которая была представлена чуть выше:
TextBox1.Text = ctr_1
End Sub
' завершение процедуры
А вот как переменные объявлялись уже совсем в другой форме пользователя ( для работы с аспектами планет ):
Private Sub CommandButton1_Click()
Dim ctr_1, ctr_2, ctr_3, ctr_4, ctr_5, ctr_6, ctr_7, ctr_8, ctr_9, ctr_10, ctr_11, ctr_12 As Single
ctr_1 = 0
ctr_1 = 0
ctr_2 = 0
ctr_3 = 0
ctr_4 = 0
ctr_1 = TextBox1.Text
ctr_2 = TextBox2.Text
ctr_3 = TextBox3.Text
ctr_4 = TextBox4.Text
Здесь переменным присваивались значения, соответствующие введенным пользователем цифрам ( в текстовых полях ).
--
КАКИЕ ГЛАВНЫЕ УПРАВЛЯЮЩИЕ ОПЕРАТОРЫ ЕСТЬ В VBA И ПРИМЕРЫ С НИМИ?
--
Оператор перехода GoTo.
Передает управление строке, которая указана непосредственно после оператора внутри программы. Имеет такой синтаксис:
GoTo Metka
Metka:
Обязательное условие: метка, на которую ссылается оператор, должна находиться в той же процедуре, что и сам оператор.
Пример:
Sub Vopros
Ответ = InputBox ( "Назовите фамилию автора романа "Защита Лужина"" )
If Ответ <> "Набоков" Then GoTo Ошибка
MsgBox ( "Это правильный ответ" )
- другие операторы -
Exit Sub
Ошибка:
MsgBox "Это неверный ответ"
End Sub
13.2 Оператор условного перехода If - Then
Проверяет выполнение определенного условия. В зависимости от подтверждения выполнения условия программа выполняет действие. Имеет такой синтаксис:
If условие Then
(Операторы 1)
Else ' в противном случае
( Операторы 2 )
Пример:
Sub Температура ()
intТемпература = InputBox ("Какая сегодня температура на улице?")
If intТемпература < 7 Then
MsgBox "Сегодня холодно"
ElseIf intТемпература < 15 Then
MsgBox "Сегодня прохладно"
ElseIf intТемпература < 25 Then
MsgBox "Сегодня тепло"
Else
MsgBox "Сегодня жарко"
--
Оператор Select Case
Еще один оператор условия.
Пример:
Sub SelectCase ()
Dim a As Single
A = InputBox ( "Сколько книг вы написали?" )
Select Case a
Case Is < 1
MsgBox "Вы больше любите читать"
Case 2 To 8
MsgBox "Вы талант"
Case Is > 8
MsgBox "Вы гений"
End Select
End Sub
13.4. Оператор For .. Next
С помощью этого оператора блок операторов, следующий за ним, выполняется несколько раз, причем это количество известно еще до начала цикла.