
- •Федеральное агентство по образованию
- •Введение в vba
- •Объектно-ориентированное программирование
- •Основные понятия
- •Алфавит и словарь языка
- •Переменные
- •Константы
- •Строковые переменные
- •Массивы
- •Пользовательские типы данных
- •Операции vba
- •Объектная модель Excel
- •Свойства и методы объектов
- •Отображение объектной модели Excel
- •Иерархия объектной модели
- •Ссылка на объекты в коде vba
- •Работа с объектами
- •Задание свойств объекта
- •Использование методов объекта
- •Переменные-объекты
- •Коллекции
- •Метод Add
- •Свойство Count
- •Свойства и методы основных объектов Excel
- •Объект Application
- •Объект Worksheet
- •Объект Range
- •Просмотр объектов
- •Использование справочной системы
- •Использование функциональной клавиши f1
- •Использование помощника
- •Вывод сообщений и ввод и данных
- •Функция MsgBox
- •Функция InputBox
- •Метод InputBox
- •Объединение текстовых строк
- •Концепция событий Excel
- •Типы событий Excel
- •События объекта Workbook
- •События объекта Worksheet
- •События объекта Application
- •События объекта UserForm
- •События, не связанные с конкретными объектами
- •Метод OnKey
- •Событие OnTime
- •Формы пользователя
- •Свойства, методы и события экранных форм
- •Некоторые свойства форм
- •Некоторые методы форм
- •Некоторые события форм
- •Элементы управления
- •Элемент управления Label (Надпись)
- •Окно свойств формы
- •Элемент управления CommandButton (Кнопка)
- •Элемент управления TextBox (Текстовое поле)
- •Элемент управления ComboBox
- •Элемент управления ListBox (список)
- •Элемент управления CheckBox (Флажок)
- •Элемент управления ToggleButton (Выключатель)
- •Элемент управления OptionButton (Переключатель)
- •Элемент управления Image (Рисунок)
- •Элемент управления ScrollBar (полоса прокрутки)
- •Элемент управления SpinButton (Счётчик)
- •Элемент управления RefEdit (Поле со свёртыванием)
- •Элементы управления на рабочем листе
- •Инструкции vba
- •Оператор присваивания
- •Инструкция Set
- •Инструкция For… Next
- •Инструкция While…Wend
- •Инструкция Do... Loop
- •Инструкция For Each…Next
- •Инструкции перехода
- •Инструкция условного перехода If…Then…Else
- •Инструкция Select…Case
- •Инструкция безусловного перехода GoTo
- •Инструкции перехода к обработчику ошибок On Error
- •Инструкции прерывания выполнения блока Exit
- •Инструкция передачи управления выполнением процедуры подпрограмме внутри процедуры GoSub… Return
- •Инструкция передачи управления выполнением процедуры на одну из нескольких строк кода On…GoSub и On…GoTo
- •Функции vba
- •Встроенные функции
- •Математические функции
- •Функции преобразования данных
- •Функции даты и времени
- •Строковые функции
- •Примеры использования функций vba
- •Удаление ненужных символов
- •Определение длины строки
- •Сравнение и поиск строк
- •Функция StrComp
- •Функция InStr
- •Выделение части строки
- •Функция Left
- •Функция Right
- •Функция Mid
- •Форматирование значений данных
- •Функции, определённые пользователем
- •Пример функции
- •Файлы vba
- •Типы файлов в vba
- •Открытие и закрытие файла
- •Ввод данных в файл последовательного доступа
- •Вывод данных из файла последовательного доступа
- •Работа с файлом произвольного доступа
- •Создание процедуры
- •Выполнение процедуры
- •Сохранение процедуры
- •Запись последовательности действий пользователя
- •Просмотр кода макроса
- •Отладка программ
- •Тестирование и отладка как этап разработки приложений
- •Отладка
- •Режим останова
- •Использование окна Immediate
- •Просмотр значений в окне Immediate
- •Пошаговое выполнение программ
- •Исправление ошибок
- •Библиографический список
- •Оглавление
Некоторые свойства форм
Большая часть основных свойств относится к внешнему виду, размерам и местонахождению окон.
Свойство Name задаёт имя формы. После создания первой формы в проекте она по умолчанию получает стандартное имя UserForm1, второй – UserForm2, и т.д., которое рекомендуется заменить на такое, чтобы оно указывало на назначение формы.
Свойство Caption задаёт заголовок формы. Значение этого свойства также рекомендуется назначить таким, чтобы оно указывало на назначение формы, например, "Выполнение плана".
Свойство Enabled используется для временного отключения формы.
Некоторые методы форм
Во время редактирования формы её можно запускать нажатием клавиши F5. После того, как форма будет готова, нужно обеспечить её запуск в документе. Для этого нужно воспользоваться методом Show:
UserForm1.Show
Если форма уже была загружена в память, она просто станет видимой, если еще нет, то будет автоматически загружена (произойдет событие Load).
Эту команду, можно вызвать, например:
из обычного макроса, назначенного кнопкой или комбинацией клавиш или запускаемого файлом автозапуска Auto_Exec;
из кода для элемента управления, расположенного в самом документе, например, CommandButton или на другой форме – для перехода между формами.
После того, как пользователь введет или выберет нужные данные на форме и нажмет на требуемую кнопку, форму необходимо убрать. Можно для этой цели воспользоваться двумя способами:
использовать метод Hide:
UserForm1.Hide
Форма будет убрана с экрана, но останется в памяти. Потом при помощи метода Show() можно будет опять ее вызвать в том же состоянии, в каком она была на момент удаления с экрана. Окончательно форма удалится из памяти при закрытии документа.
если форма в процессе работы приложения больше не потребуется, можно ее удалить из памяти при помощи команды Unload:
Unload UserForm1
Остальные методы относятся либо к обмену данными через буфер обмена: Copy, Cut, Paste, либо к служебным возможностям формы: PrintForm, Repaint, Scroll.
Важнейшая концепция VBA – события. Событие (event) – это то, что происходит с программой и может быть ей распознано. Например, к событиям относятся щелчки мышью, нажатия на клавиши, открытие и закрытие форм, перемещение формы по экрану и т.п. VBA построен таким образом, чтобы создавать на нем программы, управляемые событиями.
Некоторые события форм
Часто используемые события форм:
Initialize происходит при подготовке формы к открытию (появлению перед пользователем). Обычно в обработчик для этого события помещается код, связанный с открытием соединений базы данных, настройкой элементов управления на форме, присвоение им значений по умолчанию и т.п.
Click и DblClick – реакция соответственно на одиночный и двойной щелчок мыши. Обычно обработчик щелчков используется для кнопок элементов управления CommandButton.
Error – это событие используется при возникновении ошибки в форме и применяется пользователем для исправления сделанной им ошибки.
Terminate – событие используется при нормальном завершении работы формы и выгрузке ее из памяти, например, по команде Unload.
Остальные события связаны либо с изменением размера окон, либо с нажатиями клавиш, либо с активизацией или деактивизацией.
Главное событие формы – Initialize. Все остальные события обычно используются для расположенных на ней элементов управления.