- •Содержание
- •Раздел 1. Быстрый старт 2
- •Раздел 2. Редактор Visual Basic 11
- •Immediate Window (окно проверки) 15
- •Раздел 3. Переменные и типы данных 27
- •Раздел 4. Операторы управления 51
- •Раздел 5. Процедуры, подпрограммы и функции 66
- •Раздел 6. Объекты ms Excel 101
- •Раздел 7. Пользовательские формы 139
- •Immediate Window (окно проверки) 177
- •Введение
- •Раздел 1.Быстрый старт Использование макрорекордера
- •Запись макроса
- •Запуск макроса
- •Абсолютные и относительные ссылки Запись формулы на рабочем листе
- •Макрорекордер
- •Диалоговые окна для ввода/вывода данных
- •Функция InputBox
- •Функция MsgBox
- •Раздел 2.Редактор Visual Basic
- •Окна редактора vb
- •Project Window (окно проекта)
- •Properties Window (Окно свойств)
- •Code (окно программы)
- •Immediate Window (окно проверки)
- •Получение справки
- •Запись процедур
- •Режимы работы с программой
- •Ошибки и их обнаружение
- •Отладка
- •Меню и панели инструментов Visual Basic
- •Панели инструментов Стандартная панель инструментов
- •Панель инструментов отладки
- •Раздел 3.Переменные и типы данных Объявление переменных
- •Важность объявления переменных
- •Область видимости переменных
- •Время жизни переменных
- •Инициализация переменных
- •Операции с элементарными данными
- •Оператор присваивания
- •Выполнение операций
- •Арифметические операции
- •Операции сравнения
- •Оператор Like
- •Логические операции
- •Символьные операции
- •Приоритет операций
- •Операции с другими типами данных
- •Объектные переменные
- •Массивы
- •Динамические массивы
- •Пользовательский тип
- •Раздел 4.Операторы управления
- •Условный оператор If
- •Оператор выбора Select Case
- •Операторы цикла
- •Цикл For…Next
- •Цикл For Each…Next
- •Оператор Set
- •Цикл Do…Loop
- •Цикл While…Wend
- •Раздел 5.Процедуры, подпрограммы и функции
- •Классификация процедур
- •Структура и объявление процедуры
- •Синтаксис объявления процедуры общего типа
- •Синтаксис объявления функции
- •Вызов процедуры
- •Параметры и аргументы
- •Возврат значения функции
- •Использование процедур-функций на рабочем листе
- •Поименованные аргументы
- •Использование необязательных аргументов
- •Использование параметра ParamArray
- •Вызов процедур другого проекта
- •Автопроцедуры
- •Событийные процедуры
- •Рекурсивные процедуры
- •Встроенные функции Классы функций
- •Использование табличных функций
- •Организация интерфейса при помощи встроенных функций
- •Функция MsgBox
- •Функция InputBox
- •Строковые функции
- •Примеры на использование различных строковых функций Функция Format
- •Функция Val
- •Функции Len, Mid
- •Функция Left
- •Функция Instr
- •Функция Chr
- •Математические функции
- •Функции Int и Fix
- •Функция Log
- •Функции Randomize и Rnd
- •Функции даты и времени
- •Примеры функций даты и времени Функции Day, Month, Year, DateSerial
- •Функции Now, Time, Timer
- •Функция WeekDay
- •Функции Hour, Minute, Second
- •Раздел 6.Объекты ms Excel
- •Свойства объектов
- •Методы объектов
- •Модель объектов
- •Коллекции объектов
- •Обращение к объекту Контейнеры
- •Ссылка на объект
- •Оператор With
- •Использование объектных переменных
- •Объект Application
- •Активные объекты
- •Свойства, влияющие на высвечивание на экране Свойство DisplayAlerts (r/w Boolean)
- •Свойства DisplayFormulaBar (r/w Boolean), DisplayStatusBar (r/w Boolean)
- •Свойство ScreenUpdating (r/w Boolean)
- •Свойства Top, Left, Height, Width, UsableWidth, WindowState
- •Свойство Visible (r/w Boolean)
- •Другие свойства объекта Application
- •Методы Метод Calculate
- •Метод CheckSpelling
- •Метод OnTime
- •Метод Wait
- •Коллекции объектов
- •Объекты Workbooks и Workbook
- •Событийные процедуры
- •Объекты Sheets, WorkSheets и WorkSheet
- •Свойства Свойство Name (r/w String)
- •Свойство Type (r/o String)
- •Свойство UsedRange
- •Свойства Next и Previous
- •Свойство Parent
- •Свойство Visible (r/w Boolean)
- •Методы Метод Add
- •Методы Move и Select
- •Событийные процедуры
- •Объект Range
- •Свойства Cвойство Range
- •Свойство Cells
- •Свойство Offset
- •Метод Union и свойство Areas
- •Свойства Column и Row (r/o Integer)
- •Свойства Columns и Rows
- •Свойство CurrentRegion
- •Cвойства, связанные с шириной и высотой ячейки
- •Методы Методы Select и Activate
- •Метод Clear
- •Цветовое оформление объекта Range Свойство ColorIndex
- •Свойство Color
- •Раздел 7.Пользовательские формы
- •Режимы работы с формой
- •Режим конструктора
- •Элементы управления
- •Событийные процедуры
- •Режим выполнения
- •Объекты UserForm и Controls
- •Разработка приложения
- •Приложение 1
- •Конструирование начальной формы
- •Свойства формы и элементов управления
- •Создание событийных процедур
- •Конструирование формы для выбора рабочего листа
- •Создание событийных процедур
- •Элемент ListBox
- •Событийная процедура инициализации формы
- •Завершение разработки приложения
- •Связь формы с ячейками рабочего листа
- •Элемент TextBox
- •Элемент ListBox
- •Приложение 2
- •Конструирование форм
- •Процедуры
- •Приложение a. Справочная система Просмотр объектов, их свойств и методов (Object Browser)
- •Окно Object Browser
- •Панель инструментов Object Browser
- •Выход из Object Browser
- •Интерактивная подсказка
- •Приложение b. Инструментальные средства отладки программ
- •Контрольные точки или точки останова
- •Трассировка или пошаговое выполнение программы
- •Использование объекта Debug
- •Окна отладчика
- •Immediate Window (окно проверки)
- •Окно значения переменной
- •Locals Window (окно локальных переменных)
- •Окно контрольных значений (Watches)
- •Приложение c. Основные формы записи алгоритмов
- •Понятие "алгоритм"
- •Классификация алгоритмов
- •Способы записи алгоритмов
- •Запись на естественном языке
- •Изображение алгоритма в виде графических символов
- •Представление основных типов алгоритмов в виде блок-схем
Панель инструментов Object Browser
– Go Back (Назад) позволяет перейти к объекту, ранее выбранному в списке компонентов класса.
– Go Forward (Вперед) повторяет выбор объектов в списке компонентов класса, если осуществлялся переход назад.
– Copy to Clipboard (Копировать) копирует текст из окна описания после выделения нужного фрагмента, например, имени процедуры со списком формальных параметров, Если фрагмент не выделен, то копируется только название компонента. Допускается перетаскивание мышью текста из окна описания в окно модуля. Можно использовать команду Copy из контекстного меню окна описания.
– View Definition (Описание) помещает курсор в окно описания выделенного класса или компонента.
– Search (Поиск) выполняет поиск библиотек, название компонентов которых соответствует образцу текста в поисковой строке Search Text. В этой строке можно вводить или выбирать искомый текст. Запоминаются значения четырех последних поисковых строк. В строке поиска допускается использование стандартных подстановочных символов. Команда Find Whole Word Only (Только слово целиком) контекстного меню для пиктограммы поиска задает поиск целых слов.
Если поиск произведен успешно, то сведения о найденных компонентах размещаются на панели результатов поиска Search Results. Панель Search Results отображает найденные библиотеки в алфавитном порядке. На рис. A.1 показан результат поиска метода Add.
– Hide/Show Search Results (скрыть/показать результаты поиска) сворачивает или раскрывает окно результата поиска соответственно.
– Help переключает в Help по VBA на статью о компоненте, расположенном в окне описания.
Выход из Object Browser
Переход к редактируемой процедуре осуществляется простым щелчком мыши, если текст процедуры виден на экране. В противном случае можно закрыть окно Object Browser стандартным способом – нажатием на кнопку закрытия окна. При этом содержание справки сохраняется до следующего вызова Object Browser.
В списке проектов/библиотек можно выбрать имя нужного проекта, и тогда в окне классов появятся компоненты проекта. Двойной щелчок на имени процедуры или названии модуля (процедурного листа) переводит в редактор VB.
Рис. A.3. Классы и компоненты проекта Project1
Help
Если перейти в редактор VBA и затем стандартно вызвать справочную систему (клавиша F1), то открывается основное окно справочника VBA для MS Excel.
Рис. A.4. Содержание справочника по Visual Basic для MS Excel
Все разделы справочника для версии MS Office 2003 разбиты на три книги:
Microsoft Excel Visual Basic Reference содержит разделы программирования для объектов MS Excel, в том числе, модель объектов (Microsoft Excel Object Model). Из алфавитных перечней объектов, их свойств, методов, событий и пр. можно выйти на соответствующие статьи по использованию объектов и их компонентов;
Microsoft Visual Basic Documentation – это документация по языку программирования VBA. Содержит темы, посвященные созданию процедур, редактированию текста процедур, выполнению написанных программ, возможностям отладки. Часть тем посвящена оптимизации программ: использованию массивов, созданию рекурсивных процедур, эффективным способам передачи аргументов и возможностям построения циклов. Документация включает раздел Visual Basic How To, в котором кратко описано, как выполнить то или другое действие с объектом языка или с объектом приложения.
Microsoft Office Visual Basic Reference содержит справки по VBA, общие для всех офисных приложений: справки по объектам, модель объектов MS Office (Microsoft Office Object Model). Все темы объединены в папки и можно перемещаться на любой уровень иерархии справочника. Например, чтобы посмотреть, как описывать массивы, пройдите по цепочке Microsoft Visual Basic Documentation→Visual Basic Conceptual Topics→Declaring Arrays.
Можно возвращаться к просмотренным ранее темам и осуществлять поиск тем.
|
Например, для поиска кодовой таблицы можно задать образец поиска character set. В результате будут доступны статьи по обеим частям кодовой таблицы. |
Рис. A.5. Результаты поиска темы, посвященной кодовой таблице
Важно
Чтобы использовать возможность поиска тем по программированию на VBA, необходимо находится в редакторе Visual Basic. Если активно окно таблицы MS Excel, то доступны только темы приложения MS Excel.
Всегда можно вставить в процедуру приводимые в Help примеры событийных процедур и примеры использования методов и свойств объектов.