- •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
Отображение встроенных диалоговых окон
VBA позволяет отображать программно на экране встроенные диалоговые окна в Excel наряду с пользовательскими диалоговыми окнами. Все встроенные диалоговые окна в Excel образуют семейство Dialogs, индекс которого специфицирует активизируемое диалоговое окно. Отображение встроенного диалогового окна на экране осуществляется методом Show. Например, следующая процедура при нажатии кнопки активизирует диалоговое окно Открытие документа (Open) (рис.).
Private Sub CommandButton1_Click() Application.Dialogs(xlDialogOpen).Show
End Sub
Рис. 31.1 Диалоговое окно
Открытие документа
В методе Show можно указывать аргументы, управляющие выводом в диалоговом окне специфицированной информации.
XlDialogFindFile |
Диалоговое окно Открытие документа (Open) при поиске файла |
xlDialogPivotTableWizard |
Диалоговое окно Мастер сводных таблиц (Pivot Table Wizard) Wizard) |
xlDialogSaveAs |
Диалоговое окно Сохранить как (Save as) |
xlDialogSaveWorkbook |
Диалоговое окно Сохранить (Save) |
xlDialogPrint |
Диалоговое окно Печать (Print) |
Объект Application
Объект Application (приложение) является главным в иерархии объектов Excel и представляет само приложение Excel. Он имеет более 120 свойств и 40 методов. Эти свойства и методы предназначены для установки общих параметров приложения Excel. Кроме того, объект Application позволяет вызывать более 400 встроенных функций рабочего листа при помощи конструкции вида:
Application.ФункцияРабочегоЛиста(Аргументы)
Например:
|
|
|
|
|
Application . Pi ( ) |
Вычисление числа п |
|
|
Application. Pmt (Аргументы) |
Определение постоянных периодических платежей при постоянной процентной ставке с помощью функции ППЛАТ (РМТ) |
|
|
Application . Sum (Аргументы) |
Нахождение суммы значений из ячеек диапазона |
|
|
|
|
|
Приведем несколько наиболее часто используемых свойств, методов и событий объекта Application.
Свойства объекта Application
|
|
|
|
|
Свойства |
Выполняемые действия и допустимые значения |
|
|
ActiveWorkbook, ActiveSheet ActiveCell |
Возвращают активный объект: рабочую книгу, лист, ячейку, диаграмму, диалоговое окно. Свойство ActiveCell содержится В ActiveSheet, а свойства ActiveSheet, ActiveChart И ActiveDialog в ActiveWorkbook. |
|
|
|
|
|
|
|
|
|
|
Свойства |
Выполняемые действия и допустимые значения |
|
|
ActiveChart |
В следующем примере в активной ячейке устанавливается по- |
|
|
ActiveDialog |
лужирный шрифт и в нее вводится строка текста Отчет за май: With ActiveCell .Font. Bold = True .Value = "Отчет за май" End With |
|
|
ThisWorkbook |
Возвращает рабочую книгу, содержащую выполняющийся в данный момент макрос. Это свойство может возвращать рабочую книгу, отличную от возвращаемой свойством Active-Workbook, т. к. выполняемый макрос может находиться в неактивной книге |
|
|
Calculation |
Устанавливает режим вычислений. Допустимые значения: xlCalculationAutomatic (автоматический режим) xlCalculationManual (вычисления выполняются вручную) xlCalculationSemiAutomatic (автоматический режим, не распространяется на таблицы) |
|
|
Caption |
Возвращает текст в строке имени главного окна Excel. Установка свойства равным Empty возвращает заголовок, используемый по умолчанию. В следующем примере первая инструкция устанавливает в качестве заголовка окна приложения текст Отчет за 1999 год, а вторая возвращает имя окна, используемое по умолчанию, т. е. Microsoft Excel: Application. Caption = "Отчет за 1999 год" Application. Caption = Empty |
|
|
DisplayAlerts |
Допустимые значения: True (отображаются встроенные предупреждения о работе программы) и False (предупреждения не отображаются) |
|
|
DisplayFormulaBar |
Допустимые значения: True (строка формул выводится в окне Excel) и False (строка формул не выводится). В данном ниже примере установлен режим, при котором строка формул не будет выводиться в окне Excel: Application. DisplayFormulaBar = False |
|
|
DisplayScrollBars |
Допустимые значения: True (полосы прокрутки видны в окне Excel) и False (полосы прокрутки не отображаются). Например: Application. DisplayScrollBars = False — строка формул не будет выводиться в окне Excel |
|
|
|
|
|
|
|
|
|
|
Свойства |
Выполняемые действия и допустимые значения |
|
|
DisplayStatusBar |
Допустимые значения: True (строка состояния видна в окне Excel) и False (строка состояния не видна). Например: Application. DisplayStatusBar = True — строка состояния не будет выводиться в окне Excel |
|
|
EnableCancelKey |
Определяет действие при нажатии комбинации клавиш <Ctrl>+<Break>, используемой для прерывания выполнения процедуры. Допустимые значения: xlDisabled (прерывания программы запрещено) xllnterrupt (прерывание процедуры разрешено) XlErrorHandler (прерывание воспринимается как ошибка) |
|
|
Height |
Высота окна приложения в пунктах |
|
|
Width |
Ширина окна приложения в пунктах |
|
|
Left |
Расстояние в пунктах от левой границы окна приложения до левого края экрана |
|
|
Right |
Расстояние в пунктах от правой границы окна приложения до правого края экрана |
|
|
Top |
Расстояние в пунктах от верхней границы окна приложения до верхнего края экрана |
|
|
ScreenUpdating |
Допустимые значения: True (изображение обновляется во время выполнения программы) и False (изображение не обновляется). Задание False в качестве значения свойства ускоряет выполнение процедуры. В конце процедуры свойству ScreenUpdating необходимо присвоить значение True |
|
|
StatusBar |
Выводит заданный текст в строке состояния. Выполнение приведенного ниже примера позволит вывести текст Ввод данных. . . в строке состояния: Application. DisplayStatusBar = True Application. StatusBar = "Ввод данных..." |
|
|
Version |
Возвращает номер текущей версии Excel. Применяется для проверки того, что приложение используется в корректной версии. Например: If Application. Version о "8.0" Then Exit Sub |
|
|
WindowState |
Устанавливает размер окна. Допустимые значения: xlMaximized (максимальный) xlMinimized (минимальный) xlNormal (нормальный) Например: Application. WindowState = xlMaximized — устанавливается максимальный размер окна |
|
|
|
|
|