
- •Часть 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
Министерство образования и науки Российской федерации
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
НЕФТИ И ГАЗА им. И.М. ГУБКИНА
_______________________________
Кафедра информатики
Тихвинский В.И.
VBA for Excel
Методические указания
по курсу «Информатика»
Часть 1.
Москва - 2007
УДК 681.3
Тихвинский В.И. VBA for Excel. Методические указания по курсу «Информатика». Часть 1. Под общей ред. Сидорова В.В. - М.: РГУ нефти и газа им. И.М. Губкина, 2007.- c.
Методические указания содержат учебный материал по основам программирования в среде VBA for Excel (MS Office), включая заданиями по выполнению лабораторных работ.
Методические указания предназначены для студентов первого курса юридического факультета и факультета экономики и управления.
Рецензент – проф. кафедры АСУ Степин Ю.П.
© Российский государственный университет
нефти и газа им. И.М. Губкина, 2007.
1. VBA for Excel
1.1 Введение
Практически не возможно полностью вместить в одной книге все, о каком либо языке программирования. Тем не менее, мы постарались в данной книге дать максимально полезный объем информации по языку VBA. Книга в основном ориентирована на язык VBA программы Excel, но в конце книги в ее приложениях есть немного информации о работе VBA в Word и Access. Отметим, что большинство операторов VBA Excel работают и в других приложениях MS Office.
Язык VBA (Visual Basic for Application) относится к визуальным языкам программирования. Это язык встроен в среду MS Office и предназначен для расширения функциональных возможностей ее компонентов. Идеология языка практически не отличается от стандартного VB (Visual Basic). Однако он работает только внутри конкретного приложения в режиме интерпретации, сохраняя при этом все возможности обычного VB. VBA расширен дополнительными языковыми конструкциями, служащими, для обработки специализированных файлов приложений.
Название языка программирования Visual Basic for Application можно перевести дословно следующим образом: “Визуальный Бейсик(Basic) для Приложений”. Английское слово Visual используется в названиях визуальных языков программирования. Basic – это имя программного языка, из которого Visual Basic произошел. “для Приложений” - означает то, что данный язык встроен внутри программных приложений MS Office: Word, Excel, Access, Power Point и др.
Визуальные языки программирования это объектно-ориентированные языки, при помощи которых легко создавать Интерфейс программы. Интерфейс программы - это программные средства, при помощи которых человек общается с компьютерной программой. В среде Windows существуют различные объекты, такие как: кнопки, поля, поля со списками, меню и др., которые являются элементами программного интерфейса. Практически все эти элементы в визуальных языках программирования просто рисуются программистом, точно так же, как рисуется круг, квадрат, линия в графических редакторах. Такая возможность значительно облегчила и ускорила работу программиста по созданию программного интерфейса.
В VBA имеется возможность написание макросов. Макрос – это компьютерная программа записанная особым образом, в которой записываются действия человека внутри приложения. Макрос даже может написать человек, который не знает языка VBA, но текст программы макроса в большинстве приложений MS Office пишется на рассматриваемом нами языке программирования или он может быть легко оттранслирован в язык VBA. Программист VBA может написать макрос, а затем подправить текст этой программы для своих нужд. Написать макрос в ряде случаев значительно легче, чем написать программу VBA, что значительно облегчает работу программиста по созданию текста программы. (Пример написание подпрограммы через макрос указан нами в Приложение 2 данной книги)