- •3 Семестр
- •Оглавление
- •Язык программирования Visual Basic for Application Основные средства и возможности vba Основные элементы vba
- •Основы программирования на vba Типы данных
- •Описание переменных
- •Допустимые имена
- •Инструкция Def Тип
- •Массивы
- •Динамические массивы
- •Функции и процедуры для работы с массивами
- •Константы
- •Тип данных, определенный пользователем
- •Операции vba
- •Приоритеты операций
- •Встроенные функции vba
- •Математические функции
- •Функции проверки типов
- •Функции преобразования форматов
- •Функции обработки строк
- •Функции времени и даты
- •Функции выбора
- •Функции, возвращающие строки
- •Встроенные диалоговые окна
- •Инструкции vba
- •Оператор присвоения
- •Перенос строки
- •Комментарии
- •Расположение нескольких операторов на одной строке
- •Операторы перехода и выбора
- •Операторы повтора
- •Условная компиляция
- •Процедура
- •Переход в подпрограмму и возвращение из подпрограммы
- •Вызов процедуры
- •Рекурсивные процедуры
- •Область определения переменной
- •Время жизни переменной
- •Процедуры обработки ошибок и отладка программ Разработка процедур, предотвращающих появление ошибок
- •Перехват и обработка ошибок
- •Свойства объекта Err
- •Методы объекта Err
- •Отладка программ
- •Ошибки компиляции
- •Ошибки выполнения
- •Логические ошибки
- •Инструкция Option Explicit
- •Пошаговое выполнение программ
- •Точка останова
- •Вывод значений свойств и переменных
- •Работа с файлами Типы файлов в vba
- •Открытие и закрытие файла
- •Ввод данных в файл последовательного доступа
- •Вывод данных из файла последовательного доступа
- •Работа с файлом произвольного доступа
- •Наиболее употребляемые инструкции и функции при работе с файлами
- •Объект FileSearch
- •Элементы управления и пользовательская форма Элементы управления
- •Режим конструктора
- •Установка свойств элемента управления
- •Редактор кода
- •Пользовательская форма UserForm
- •Семейство Controls
- •Создание пользовательской формы
- •Общие свойства элементов управления
- •Соглашения об именах
- •Общие методы и события элементов управления
- •Объект DataObject
- •Надпись
- •Заполнение списка
- •Выбор нескольких элементов из списка
- •Поле со списком
- •Полоса прокрутки и счетчик
- •Переключатель
- •Флажок и выключатель
- •Ссылки на ячейки и диапазоны
- •Набор страниц
- •Набор вкладок
- •Дополнительные элементы управления
- •Последовательность выбора элементов управления
- •Инициализация и отображение диалогового окна
- •Закрытие диалогового окна
- •Отображение встроенных диалоговых окон
- •Открытие документа
- •Объект Application
- •Свойства объекта Application
- •Методы объекта Application
- •События объекта Application
- •Объект Workbook и семейство Workbooks
- •Свойства объекта Workbook и семейства Workbooks
- •Методы объекта Workbook и семейства Workbooks
- •События объекта Workbook и семейства Workbooks
- •Объект Worksheet и семейство Worksheets
- •Свойства объекта Worksheet и семейства Worksheets
- •Методы объекта Worksheet и семейства Worksheet
- •События объекта Worksheet
- •Объекты Range и Selection
- •Адресация ячеек
- •Задание групп строк и столбцов с помощью объекта Range
- •Связь объекта Range и свойства Cells
- •Свойства и методы объекта Range
- •Программирование панели инструментов
- •Объект CommandBar и семейство CommandBars
- •Семейство CommandBarControls и объект CommandBarControl
- •Пример создания панели инструментов пользователя
- •Пример создания строки меню пользователя
- •Создание пользовательской панели инструментов вручную
- •Удаление элемента управления из панели инструментов вручную
- •Удаление пользовательской панели инструментов вручную
- •Назначение вручную макроса кнопке
- •Изменение и создание вручную изображения на кнопке
- •Программирование средств для работы со справочной информацией
- •Структура помощника
- •Типы помощника
- •Свойства объекта Assistant
- •Объект Balloon
Ссылки на ячейки и диапазоны
Элемент управления RefEdit (редактирование ссылок) создается с помощью кнопки RefEdit (рис.). Элемент управления RefEdit обычно используется для ввода ссылок на ячейки или диапазоны. Основным свойством элемента управления RefEdit является Text, возвращающее строку, введенную в поле ввода этого элемента управления.
Рис.24.1 Элемент управления RefEdit в форме
Набор страниц
Элемент управления MultiPage (набор страниц) создается с помощью кнопки Набор страниц (MultiPage) (рис.). Этот элемент управления реализует многостраничные диалоговые окна. Заголовки страниц отображаются на вкладках. Переход от страницы к странице осуществляется выбором вкладки посредством щелчка кнопкой мыши.
Рис.25.1 Набор страниц в форме
Создать, переименовать, удалить или переместить страницу элемента управления MultiPage можно вручную, выбрав ярлык соответствующего листа и вызвав щелчком правой кнопки мыши контекстное меню. Используя это контекстное меню, можно произвести одно из перечисленных действий.
Объект MultiPage содержит в себе семейство Pages, являющееся набором всех страниц, входящих в этот объект.
Перечислим свойства объекта MultiPage
Value и BoundValue |
Возвращают номер активной страницы. Нумерация производится с нуля |
MultiRow |
Допустимые значения: True (если ярлыки не помещаются в одну строку, то они выводятся в несколько строк) и False (если ярлыки не помещаются в одну строку, то появляется полоса прокрутки, позволяющая переходить от страницы к странице) ; |
Selectedltem |
Возвращает выбранную страницу| |
Семейство Pages, содержащее все страницы, входящие в объект MultiPage, имеет единственное свойство Count, возвращающее число элементов семейства. Кроме того, у семейства Pages имеются следующие методы.
Add |
Создает новую страницу. Синтаксис: Set Object = object.Add( [ Name [, Caption [, index]]])
|
Clear |
Удаляет все страницы из семейства Pages |
Remove |
Удаляет страницу из семейства Pages |
Item |
Возвращает страницу со специфицированным индексом. Синтаксис: Set Object = object.Item(collectionindex) |
Набор вкладок
Элемент управления TabStrip (набор вкладок) создается с помощью кнопки Набор вкладок (TabStrip) (рис.). Он позволяет создать несколько вкладок в диалоговом окне. Объект TabStrip содержит в себе семейство Tabs, представляющее собой набор всех вкладок. Объект TabStrip и семейство Tabs обладают теми же свойствами и методами, что и объект MultiPage и семейство Pages.
Рис26.1. Набор страниц в форме
Дополнительные элементы управления
В VBA, кроме перечисленных стандартных элементов управления, имеется ряд дополнительных. Дополнительные элементы управления являются самостоятельными объектами, обладающие как общими для всех элементов управления свойствами и методами, так и присущими только им свойствами и методами. Для добавления дополнительных элементов управления на панель элементов необходимо:
-
Выбрать команду Сервис, Дополнительные элементы (Tools, Additional Controls).
-
В появившемся на экране окне Дополнительные элементы (Additional Controls) (рис. 7.27) в списке Доступные элементы (Available Controls) установить флажок напротив добавляемого элемента.
-
Нажать кнопку ОК.
Удаление ненужного элемента управления из панели элементов почти аналогично добавлению, а именно, надо:
-
Выбрать команду Сервис, Дополнительные элементы (Tools, Additional Controls).
-
В появившемся на экране окне Дополнительные элементы (Additional Controls) (рис. 7.27) в списке Доступные элементы (Available Controls) снять флажок напротив удаляемого элемента.
-
Нажать кнопку ОК.
Рис. 7.27. Диалоговое окно Дополнительные элементы
Среди дополнительных элементов управления очень полезным является элемент управления Calendar (календарь) (рис. 7.28). Этот объект представляет средство для организации удобного интерфейса по вводу дат. Элемент управления конструируется в форме с помощью кнопки Календарь (Calendar)
Рис. 7.28. Календарь в форме
Перечислим основные свойства элемента управления calendar.
|
|
|
|
|
Day |
Возвращает выбранный день |
|
|
DayFont , DayFontColor |
Устанавливают шрифт и цвет шрифта для названий дней недели |
|
|
DayLenght |
Допустимые значения:
|
|
|
FirstDay |
Первый день недели. Допустимые значения от воскресенье (Sunday) до суббота (Saturday) |
|
|
Month |
Возвращает выбранный месяц |
|
|
MonthLenght |
Допустимые значения: длинный ( Long ) (отображаются полные названия месяца) и короткий (short) (отображаются только первые три буквы из названия месяца) |
|
|
ShowDays |
Допустимые значения: True (отображаются названия дней недели) и False (в противном случае) |
|
|
ShowDataselected |
Допустимые значения: True (отображается выбранная дата в верхней части календаря) и False (в противном случае) |
|
|
Value |
Возвращает выбранную дату |
|
|
Year |
Возвращает выбранный год |
|
|
|
|
|
Перечислим основные методы элемента управления calendar.
|
|
|
|
|
NextDay, NextWeek, NextMonth и NextYear |
Устанавливает следующий день, неделю, месяц и год |
|
|
PreviousDay, PreviousWeek, PreviousMonth и PreviousYear |
Устанавливает предыдущий день, неделю, месяц и год |
|
|
Today |
Устанавливает текущую дату в календаре |
|
|
|
|
|
В качестве примера использования календаря приведем следующую процедуру, которая считывает из календаря выбранную дату и вводит ее в ячейку рабочего листа:
Private Sub Calendarl_Click()
Cells (1, 1).Value = Calendar1.Value
End Sub