
- •Часть 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
7.6 Функция Environ (Определение местонахождения служебных директорий Windows)
Функцией Environ возможно определить служебные директории Windows. Формат вызова функции:
Environ( “Аргумент функции” / Индекс_аргумента_и_значение)
где
“Аргумент функции” – аргумент функции выраженный в строковом формате
Индекс_аргумента_и_значение - аргумент функции выраженный в целом, числовом формате.
Если функция Environ имеет строковый аргумент, то она выдает директорию, по указанному аргументу. Например, Environ(“windir”) выдаст путь к служебной директории системы Windows. Следующий программный код определит путь к папке Рабочий стол в русской версии операционной системы Windows:
Environ(“windir”) + ”\Рабочий стол\”
Если функция Environ имеет числовой аргумент, то она выдает значение аргумента одновременно с директорией, которую определяет аргумент. Значение аргумент от имени директории отделяется символом знака равно “=”. Следующий программный код выдает аргументы функции Environ и их значения окно отладки:
Dim i As Long
i = 1
Do
Debug.Print Environ(i)
i = i + 1
Loop Until Environ(i) = ""
Оглавление
1
1. VBA for Excel 3
1.1 Введение 3
1.2 Правила оформления конструкций языка VBA в общем виде 4
1.3 Идеология визуальных языков 5
1.4 Основные понятия визуальных языков 5
1.5 Дополнительные понятия языка VBA 6
2 Переменные и константы 9
2.1 Структура модуля 9
2.2 Объявление переменных и констант 10
Типы переменных и констант 11
2.2.2 Неявное и явное объявление переменных ( Оператор Option Explicit ) 15
2.3 Неименованные константы 16
2.4 Оператор присваивания 20
2.4.1 Арифметические выражения 20
Приоритет арифметических операций 20
Математические функции 21
2.4.2 Строковые выражения 22
Функции для работы со строками 23
2.4.3 Логические выражения 24
Сравнение строковых переменных в логических выражениях 25
2.4.4 Выражения Data 26
Пример изменения формата переменной Data в результате прибавления времени 27
2.4.5 Выражения Variant 28
2.4.6 Смешанные выражения 28
Функции преобразования типов 29
2.5 Функции определения типа переменной 29
2.6 Функция форматного преобразования переменной в строковый формат 30
Символы числовых форматов 31
Примеры форматного преобразования числовых данных 31
Добавление к формату символа 32
Символы форматов переменной Date 33
Примеры форматного преобразования переменной Date 34
Преобразование строковых переменных 34
3 Подпрограммы ( процедуры и функции ) 34
3.1 Описание подпрограмм 34
3.2 Входные параметры подпрограммы 37
Виды входных параметров 38
3.3 Вызов подпрограмм 40
3.3.1 Изменение вида входного параметра при вызове подпрограммы 43
3.4 Описание событийной процедуры объекта 43
3.5 Рекурсивные подпрограммы (процедуры и функции) 44
4 Операторы vba 47
4.1 Условный оператор If 47
Виды условного оператора 48
Знаки отношения 50
Логические функции в порядке приоритета 50
4.2 Оператор выбора Case 51
Выражение 52
4.3 Операторы цикла 52
4.3.1 Циклы for 53
Оператор цикла For .. Next 53
Оператор цикла For Each .. Next 54
Досрочный выход из циклов For 55
4.3.2 Оператор цикла While .. Wend 55
4.3.3 Циклы DO 56
Оператор цикла Do While .. loop 56
Оператор цикла Do .. Loop Until 57
Другие циклы DO 58
Досрочный выход из циклов DO 58
4.4 Оператор ЕND (досрочное завершение программы) 58
4.5 Оператор Exit (досрочный выход из подпрограмм и циклов) 59
4.6 Оператор перехода GOTO 59
Примеры операторов безусловного прехода 60
4.7 Оператор On Error (обнаружения ошибок) 60
4.8 Оператор With (обращения к полям структурированных типов, а так же к методам и к потомкам объектов) 62
4.9 Оператор Set (установка и снятие указателя ) 63
4.10 Оператор New (создание экземпляров) 64
4.11 Оператор DoEvents (Прерывание работы подпрограммы) 65
4.12 Оператор Shell (Запуск исполняемых файлов) 66
Параметры запуска окна приложения 66
4.13 Оператор AppActivate (Активизация окна другой программы) 67
4.14 Оператор SendKeys (Эмуляция нажатия на клавиши) 68
4.15 Вложенность структур операторов 68
69
70