
- •Часть 2.
- •8 Архитектура проекта
- •8.1 Введение (основные элементы проекта и их построение)
- •8.1.2 Этапы написания проекта
- •Установка (и удаление) элементов управления на лист Excel
- •Установка начальных значения свойств элементов управления
- •Установка порядка расположение элементов управления (установка одного элемента управления над другим)
- •Создание пользовательской формы
- •Создание модулей макросов проекта
- •Создание событийных процедур элементов управления, а так же событийных процедур родительских объектов
- •Быстрый переход в событийную процедуру элемента управления
- •8.1.3 Изменение свойств проекта
- •8.1.4 Установка и снятие защиты проекта
- •9 Доступность подпрограмм и полей модулей проектов
- •9.1 Введение
- •9.2 Надстройки проектов
- •9.2 Ссылка на другой проект
- •10 Отладка кода программы в vba редакторе
- •10.1 “Компиляция” проекта
- •10.2 Запуск подпрограмм, не имеющих входных параметров из редактора vba
- •10.3 Пошаговый запуск подпрограмм, не имеющих входных параметров
- •10.4 Непосредственный запуск формы из редактора vba
- •10.5 Точки останова и оператор Stop
- •10.6 Аварийное прерывание работы программы приложением Excel
- •10.7 Принудительная остановка и принудительное прерывание программы пользователем
- •10.8 Окно локальных переменных и Окно отладки
- •11 Справочная система vba
- •11.1 Переход к справочной системе
- •11.2 Список имен потомков, методов и свойств объектов в окне редактора модуля
- •11.3 Просмотр списка операторов vba в окне редактора модуля (просмотр библиотек)
- •11.4 Окно просмотра свойств, методов, потомков и родителей объектов
- •12 Дополнительная информация
- •12.1 Параметры работы редактора vba
- •12.2 Защита от макровирусов
- •12.3 Причины, по которым код vba проекта может не исполняться
- •Приложение 1 Задание 1 (автозаполнение пола)
- •Задание 2 (автозаполнение комментариев к числам)
- •Задание 3 (заучиватель иностранных слов)
- •Задание 4 (телефонная книжка с поиском)
- •Задание 5 (программирование связей таблиц Excel)
- •Задание 6 (защита служебных полей таблицы Excel)
- •Приложение 2 (Программирование через редактирование макроса) Введение
- •Запись макроса в книгу Excel
- •Запуск макроса из меню.
- •Быстрый переход в код макроса
- •Пример создание процедуры через макрос.
- •Некоторые замечания по запуску макроса из событийных процедур
- •Назначение управляющих клавиш для запуска готового макроса Назначение управляющих клавиш макросам через меню приложений
- •Программное назначение управляющих клавиш макросам
- •Приложение 3( Создание меню ) Введение
- •Типы меню приложений
- •Создание (и удаление) подпунктов главного меню через меню приложений Создание (и удаление) подпункта главного меню
- •Создание (и удаление) пункта меню к макросу
- •Удаление меню
- •Добавление пунктов в меню
- •Свойства и методы пунктов меню
- •Переключатель в пункте меню
- •Коды пиктограмм пункта меню
- •Односеансное контекстное меню
- •После выбора пункта ПервыйУровень
- •После выбора пункта ВторойУровень1 Назначение управляющих клавиш к пункту меню
- •Приложение 4 ( Программная обработка модулей vba ) Введение
- •Экспорт модуля проекта в файл
- •Импорт модуля проекта из файла
- •Импорт модуля через “организатор” (данный код только для Word приложения)
- •Создание свойств и методов пользовательского класса
- •Создание событий пользовательского класса
- •Приложение 6 (Ссылка на приложение ms Office)
- •Приложение 7 (связь с таблицами и запросами базы данных) Введение
- •Связь с базой данных через указатели
- •Непосредственная загрузка таблицы базы данных в Excel таблицу
- •Форма для интерактивной работы с записью таблицы базы данных
- •С записями таблицы базы данных
- •Браузер таблиц и запросов базы данных
- •Методы поиска объекта Recordset
- •Пример использования метода Seek
- •Пример использования методов Find
- •Приложение 8 (Обращение к api-функциям) Введение
- •Скрытие и отображение панели задач через api функции
- •Запуск ярлыка и исполняемых файлов через api функцию
- •Приложение 9 (Основные понятия визуального программирования на доступных примерах)
- •Яблоко1.Сплющить
- •8 Архитектура проекта 3
- •8.1 Введение (основные элементы проекта и их построение) 3
- •Приложение 3( Создание меню ) 64
- •Приложение 4 ( Программная обработка модулей vba ) 90
- •Приложение 5 (Создание модуля класса) 94
- •Приложение 6 (Ссылка на приложение ms Office) 108 Приложение 7 (связь с таблицами и запросами базы данных) 113
- •Часть 2
Приложение 2 (Программирование через редактирование макроса) Введение
Макрос, как уже говорилось это записанные действия пользователя внутри приложения, которые могут быть выполнены автоматически.
Внутри Excel можно написать процедуру на VBA, не пользуясь VBA редактором. Такая процедура является Макросом. Код Макроса возможно отредактировать, и сделать из него процедуру, например, процедуру со входными параметрами. Написание макроса в ряде случаев гораздо быстрей и проще, чем написания фрагмента программы обычным способом. Кроме того, программист может не знать некоторых операторов, выполняющих определенные действия в Excel, но в макрос эти операторы будут записаны автоматически.
Запись макроса в книгу Excel
Рис.14 Окно начала записи макроса
Перед записью макроса необходимо выполнить следующие действия:
Вызвать окно начала записи макроса, для этого необходимо войти в следующие пункты меню: Сервис-Макрос-Начать Запись.
В окне “запись макроса” (рис 14) нужно указать имя макроса, по правилам идентификатора (см. Другие понятия языка VBA), можно также назначить горячую клавишу для запуска макроса, а так же выбрать книгу, в которой будет записан макрос, а затем нажать клавишу OK.
Необходимо выполнить те действия, внутри Excel, которые вы хотите что б они выполнялись при запуске макроса.
Нужно завершить запись макроса, меню: Сервис-Макрос-Завершить запись.
После выполнения вышеуказанных действий макрос запишется в указанную вами книгу.
Запуск макроса из меню.
Рис 15 Окно запуска макросов
Запустить макрос можно следующим образом:
Вызвать окно начала запуска макроса, для этого необходимо войти в следующие пункты меню: Сервис-Макрос-Макросы.
Выбрать ту книгу, из которой необходимо запустить макрос.
Выбрать левой клавишей мыши имя макроса из списка для запуска.
Нажать кнопку Выполнить.
Примечание: Т.к. макрос в Excel является процедурой, то из программы VBA его можно вызывать по правилу вызова процедуры.
Быстрый переход в код макроса
Макрос можно найти в соответствующем модуле проекта через VBA редактор, но существует быстрый переход к коду макроса:
Вызвать окно начала запуска макроса, для этого необходимо войти в следующие пункты меню: Сервис-Макрос-Макросы(см рис 15).
Выбрать ту книгу, в которой находится макрос.
Выбрать левой клавишей мыши имя макроса из списка для редакции.
Нажать кнопку Изменить.
Примечание: После редакции макроса можно закрыть редактор VBA
Пример создание процедуры через макрос.
Создадим процедуру очищающую указанную строку активного листа. Для этого сначало создадим макрос очищающий строку.
1)Войдите в меню: Сервис-Макросы-Начать Запись и определите книгу где будет записан макрос и введите его имя, без пробелов - ОчисткаСтроки (см. Приложение2, Запись макроса в книгу Excel)
2)Кликните правой клавишей мыши по индексу строки листа и выбирите пункт “Очистить содержимое” (см. рис 16)
Рис 16 очистка содержимого 8 строки
Завершите запись макроса через меню: Сервис-Макросы-Остановить Запись
Теперь в вашей книги есть макрос – ОчисткаСтроки, который очищает содержимое 8 строки активного листа. Но вам нужна процедура, очищающая определенную строку активного листа. Для этого необходимо отредактировать макрос в указанную процедуру:
1)Войдите в код вашего макроса (см. Приложение2, быстрый переход в код макроса)
2)Макрос имеет код:
Sub ОчисткаСтроки()
'
' ОчисткаСтроки Макрос
' Макрос записан 02.07.04 (Тихвинский В.И.)
'
Rows("8:8").Select
Selection.ClearContents
End Sub
3)Внесем изменения в код макроса:
Sub ОчисткаСтроки(Строка)
'
' ОчисткаСтроки Макрос
' Макрос записан 02.07.04 (Тихвинский В.И.)
'
'
Rows(Строка).Select
Selection.ClearContents
End Sub
В результате вышеописанных действий получена процедура очистки указанной строки активного листа.