
- •Часть 1.
- •1.1 Введение
- •1.2 Правила оформления конструкций языка vba в общем виде
- •1.3 Идеология визуальных языков
- •1.4 Основные понятия визуальных языков
- •1.5 Дополнительные понятия языка vba
- •2 Переменные и константы
- •2.1 Структура модуля
- •2.2 Объявление переменных и констант
- •Имя_Модуля1.Имя_Поля
- •2.2.2 Неявное и явное объявление переменных ( Оператор Option Explicit )
- •2.3 Неименованные константы
- •2.4 Оператор присваивания
- •2.4.1 Арифметические выражения
- •2.4.2 Строковые выражения
- •2.4.3 Логические выражения
- •Сравнение строковых переменных в логических выражениях
- •2.4.4 Выражения Data
- •2.4.5 Выражения Variant
- •2.4.6 Смешанные выражения
- •2.5 Функции определения типа переменной
- •2.6 Функция форматного преобразования переменной в строковый формат
- •3 Подпрограммы ( процедуры и функции )
- •3.1 Описание подпрограмм
- •3.2 Входные параметры подпрограммы
- •3.3 Вызов подпрограмм
- •3.3.1 Изменение вида входного параметра при вызове подпрограммы
- •3.4 Описание событийной процедуры объекта
- •3.5 Рекурсивные подпрограммы (процедуры и функции)
- •4 Операторы vba
- •4.1 Условный оператор If
- •4.2 Оператор выбора Case
- •4.3 Операторы цикла
- •4.3.1 Циклы for Оператор цикла For .. Next
- •Оператор цикла For Each .. Next
- •Досрочный выход из циклов For
- •4.3.2 Оператор цикла While .. Wend
- •4.3.3 Циклы do Оператор цикла Do While .. Loop
- •Оператор цикла Do .. Loop Until
- •Другие циклы do
- •Досрочный выход из циклов do
- •4.4 Оператор еnd (досрочное завершение программы)
- •4.5 Оператор Exit (досрочный выход из подпрограмм и циклов)
- •4.6 Оператор перехода goto
- •4.7 Оператор On Error (обнаружения ошибок)
- •4.8 Оператор With (обращения к полям структурированных типов, а так же к методам и к потомкам объектов)
- •4.9 Оператор Set (установка и снятие указателя )
- •4.10 Оператор New (создание экземпляров)
- •4.11 Оператор DoEvents (Прерывание работы подпрограммы)
- •4.12 Оператор Shell (Запуск исполняемых файлов)
- •4.13 Оператор AppActivate (Активизация окна другой программы)
- •4.14 Оператор SendKeys (Эмуляция нажатия на клавиши)
- •4.15 Вложенность структур операторов
- •5 Структурированные типы vba
- •5.1 Введение
- •5.2 Массивы
- •5.2.1 Статический массив
- •5.2.2 Динамический массив
- •5.2.3 Объявление массива через функцию Array
- •5.2.4 Функции определения размерности массива
- •5.2.5 Опрос, ввод и вывод в цикле ячеек массива
- •5.2.6 Массивы массивов
- •5.2.7 Поиск максимума и минимума в массиве
- •5.2.8 Сортировка массива
- •5.2.9 Оператор высвобождения памяти занятой динамическим массивом и обнуления ячеек статического массива (Erase)
- •5.3 Записи ( и массивы записей)
- •5.3.1 Запись с константными полями
- •5.4 Семейства (Коллекции)
- •5.5 Объекты
- •5.5.1 Введение
- •5.5.2 Объект Application
- •5.5.3 Объекты ActiveWorkbook, ThisWorkbook, Workbooks (связь с книгой Excel)
- •5.5.4 Объекты ActiveSheet, Worksheets (связь с листом книги Excel)
- •5.5.5 Объекты Rows, Columns ,Range, Cells, Selection, ActiveCell (связь со строками, столбцами и ячейками листа Excel)
- •5.5.6 Элементы управления
- •Элемент управления CommandButton (Кнопка)
- •Элементы управления CheckBox, OptionButton (Флажок, Переключатель)
- •Элемент управления TextBox (текстовый редактор)
- •Элементы управления ListBox, ComboBox (Список ,Поле со списком)
- •Элементы управления ScrollBar ,SpinButton (Полоса прокрутки ,Счетчик)
- •Элемент управления Imаge (Рисунок)
- •5.6 Объект Форма
- •6 Диалоги
- •7 Работа с файловой системой
- •7.1 Введение
- •7.1.3 Работа с файловой системой через программу Мой компьютер (My Computer)
- •7.2 Функция dir ( Просмотр содержимого директории и определение наличия файла на диске)
- •7.3 Работа с дисковым пространством
- •7.3.1 Дополнительные функции для работы с дисковым пространством
- •7.4 Работа с файлами
- •7.4.1 Работа с текстовым файлом
- •7.4.2 Работа с двоичным файлом
- •7.4.3 Работа с файлом произвольного типа данных
- •7.5 Просмотр содержимого ярлыка
- •7.6 Функция Environ (Определение местонахождения служебных директорий Windows)
- •Оглавление
- •2 Переменные и константы 9
- •3 Подпрограммы ( процедуры и функции ) 34
- •4 Операторы vba 47
- •5 Структурированные типы vba 70
- •5.3 Записи ( и массивы записей) 83
- •5.4 Семейства (Коллекции) 85
- •5.5 Объекты 87
- •6 Диалоги 119
- •7 Работа с файловой системой 122
- •Часть 1
Элемент управления CommandButton (Кнопка)
Объект CommandButton имеет вид кнопки. При клике левой клавиши мыши по кнопке, она утопляется, и после отпускания левой клавиши принимает свое обычное состояние. Наиболее часто запускают программу через рассматриваемый нами элемент управления, используя его событийную процедуру Click.
Элементы управления CheckBox, OptionButton (Флажок, Переключатель)
Объекты CheckBox, OptionButton имеют вид флажка и переключателя. Во время установки на родителя данных элементов изменяют свойство Value в значение True, если хотят, что бы флажок или переключатель были активны. Во время работы программы можно изменить состояние флажка на противоположное, кликнув по нему мышью. Кликом левой клавиши по переключателю можно сделать его активным.
Элемент управления TextBox (текстовый редактор)
Объект TextBox реализует функцию текстового редактора. В режим редактирования этого объекта можно войти кликом левой клавишей мыши по нему. Через логическое свойство Multiline данного объекта можно задать многострочный режим редактора, установив это свойство в значение True. Через свойства ScrollBars данного объекта в многострочном режиме можно установить линейки прокрутки текста задав этому свойству следующие значения:
0-FmScrollBarsNone - Линейки прокрутки отсутствуют
1-FmScrollBarsНоrizontal – Горизонтальная линейка прокрутки.
2-FmScrollBarsVertical – Вертикальная линейка прокрутки.
3-FmScrollBarsBoth - Вертикальная и горизонтальная линейка прокрутки.
Другие свойства элемента управления TextBox |
|
Имя свойства |
Назначение |
Text |
Предназначено для изменения и чтения текста написанного на объекте TextBox |
SelText |
Предназначено для изменения и чтения фрагмента выделенного текста на объекте TextBox |
SelStart |
Номер первого выделенного символа |
SelLength |
Длина в символах выделенного фрагмента текста |
Элементы управления ListBox, ComboBox (Список ,Поле со списком)
Объект ListBox представляет собой список, из которого можно выбрать строку данных левой клавишей мыши. В отличии от ListBox, ComboBox имеет поле ввода данных, и при этом, выкидной список данных. В свойство Text обоих объектов попадает значение выбранной строки из списка. Объекты имеют следующие методы:
Методы и свойства элементов управления ListBox, ComboBox |
|
Метод или Свойство |
Назначение метода |
Clear |
Очистка списка данных |
AddItem “Текст” |
Добавление в список строки данных |
ColumnCount |
Количество выводимых колонок |
ColumnWidths |
Ширина колонок, которая задается в текстовом формате (см. пример под таблицей) |
RowSource |
Копирует диапазон значений ячеек с листа Excel (см. пример под таблицей) |
ListCount |
Количество записанных строк в список объекта ( номер последней строки в списке равен ListCoun = -1, строки нумеруются с 0) |
ListIndex |
Индекс выбранной строки из списка. ListIndex = -1 если строка не выбрана. |
List( row _ [, column] ) |
Получение данных из указанной строки списка, и обновление данных в имеющихся строках списка. Row – Номер строки списка. Column – номер колонки списка, используется в том случаи, если установлено более одной колонки списка через свойство ColumnCount. |
Пример загрузки данных в списки объектов ListBox1, ComboBox1:
‘установить четыре колонки вывода
ListBox1.ColumnCount = 4
‘Задать диапазон ячеек активного листа для копирования
ListBox1.RowSource = "A1: D10"
‘установить две колонки вывода
ComboBox1.ColumnCount = 2
‘установить ширину колонок вывода
ComboBox1.ColumnWidths = "54;40"
‘Задать диапазон ячеек на листе Аудитория
ComboBox1.RowSource = "'Аудитория'!a1:b100"