- •Норинский л. Ю. Программирование на Visual Basic и Visual Basic for Applications (Конспект лекций)
- •Введение
- •1. Основы языка программирования visual Basic
- •1.1. Общие сведения о Visual Basic
- •1.2. Среда vb, инструментальные средства. Разработка проектов
- •1.3. Типы данных. Константы и переменные
- •1.4. Операции
- •1.5. Ввод и вывод данных
- •1.6. Управляющие операторы
- •1.7. Массивы
- •1.8. Примеры программ работы с числами
- •1.9. Обработка строк. Примеры
- •1.10. Математические вычисления. Другие операторы и функции
- •1.11. Процедуры и функции. Примеры
- •1.12. Работа с файлами
- •1.13. Обработка ошибок
- •2. Разработка интерфейса
- •2.1. Элементы управления
- •2.1.1. Общие сведения
- •2.1.2. Встроенные эу
- •2.1.3. Внедренные и связанные эу
- •2.2. Разработка форм
- •2.3. Создание и использование меню
- •2.4. Окна диалога
- •3. Классовое общество
- •3.1. Классы-формы
- •3.2. Модули классов и стандартные модули
- •3.3. Управление событиями объекта
- •3.4. Семейства и массивы объектов
- •4. Vba. Макропрограммирование
- •4.1. Общие сведения о vba
- •4.2. Работа в Excel с помощью vba
- •4.2.1. Объекты Application и семейство Workbooks
- •4.2.2. Объекты Worksheet и Worksheets
- •4.2.3. Объект Range
- •4.3. Макропрограммирование
- •4.4. Создание макросов в Word
- •4.5. Создание макросов в Excel
- •4.6. Пример макроса
- •Приложения п1. Некоторые виды ошибок
- •П2. Свойства элементов управления
- •П3. Методы работы с элементами управления
- •П4. Примеры проектов vb Проект 1.
- •Проект 2.
- •Проект 3.
- •Проект 4.
- •Проект 5.
- •Проект 6.
- •Проект 8.
- •Проект 11.
- •П5. Пример ПроектА vba.
- •Литература
1.2. Среда vb, инструментальные средства. Разработка проектов
После запуска VB из Windows (меню Start / Program / Visual Basic 6.0) появляется интерфейс мастера запуска, который позволяет либо создать новый проект – ярлык StandardEXE на вкладке New (для обычного Windows-приложения), либо открыть существующий проект – вкладка Existing. После выбора режима работы происходит вход в интегрированную среду разработки (IDE), через окна которой можно: 1) добавлять, изменять и удалять объекты в приложениях и компонентах; 2) редактировать методы и свойства объектов приложений; 3) устанавливать соединения между объектами приложений и объектами баз данных; 4) просматривать и выбирать компоненты текущих проектов и библиотек; 5) отлаживать код программных процедур; тестировать их и т. д.
Кроме основных меню имеются всплывающие меню, содержащие команды быстрого доступа к часто выполняемым действиям (контекстные меню). Чтобы открыть такое меню, надо щелкнуть правой кнопкой мыши на используемом объекте или элементе интерфейса.
В верхней части находится строка главного меню, а под ней панель инструментов. В левой части экрана располагается палитра объектов – набор инструментальных средств, элементов управления и конструктивов, которые можно размещать в формах.
В правой верхней части экрана находится окно Project Explorer, в котором представлена иерархическая структура файлов форм и модулей текущего проекта, которые могут отображаться в окне центральной части экрана.
Ниже располагается окно свойств, а под ним – окно компоновки форм (AutoRedraw). В окне свойств перечисляются установки свойств для текущей формы или элемента управления. Окно свойств содержит следующие разделы: 1) в верхней части раскрывающийся список объектов текущей формы, включая саму форму, 2) ряд строк, описывающих свойства объекта, 2) две вкладки для переключения между алфавитным и категорированным представлением списка свойств.
Для просмотра листа свойств объекта надо: 1) выбрать объект, 2) щелкнуть кнопку Properties Window или выбрать команду меню View / Properties Window, или нажать F4.
В одной строке окна свойств можно просмотреть имя свойства и его текущее значение. Чтобы изменить значение свойства надо: 1) указать изменяемое свойство в окне свойств (при выборе свойства его имя подсвечивается), 2) в зависимости от типа свойства надо выполнить следующее: 1) если появляется раскрывающийся список, то ввести новое значение в поле, расположенном справа, от имени свойства; 2) если свойство имеет два значения, то выбрать требуемое значение (дважды щелкнуть на поле справа для переключения между значениями); 3) если в правом конце поля значения свойства появляется кнопка с тремя точками, то для установки значения надо выбрать некоторый объект в стандартном файловом окне.
Кроме окна свойств, можно использовать окно страниц свойств (Property Pages). Для открытия этого окна надо: 1) выбрать в окне свойств строку (Custom) и щелкнуть стрелку вниз, 2) выбрать объект (элемент управления в форме) и выбрать элемент меню View / Property Pages или нажать Shift+F4, 3) щелкнуть элемент управления в форме правой кнопкой мыши и выбрать Properties в контекстном меню Встроенные элементы управления не имеют страниц свойств. Страницы свойств создаются для сложных пользовательских, стандартных и подключаемых элементов управления ActiveX.
В окне Object Browser перечислены объекты, доступные для использования в проекте. Информация выводится в виде трехуровневой иерархии:
библиотека, приложение или проект – объект (класс) – члены класса,
где членами класса могут быть свойства, методы, события, константы, элементы управления, контейнеры (в виде свойств) и др. Данное окно дублирует функции кнопок Copy и Definition. Контекстное меню данного окна управляет содержимым списков Classes и Members. Для группировки членов класса по свойствам, методам и т. п. включается элемент Group Members, иначе они располагаются в алфавитном порядке.
Окно дизайнера форм используется для проектирования и настройки интерфейса приложения.
Окно редактирования кода в верхней части содержит раскрывающиеся списки объектов (слева) и процедур (справа). Программный код компонуется из модулей (для каждой формы также имеется свой программный модуль).
Для каждого модуля открывается свое окно. Код внутри модуля организован в отдельные разделы для каждого объекта модуля. Переключение между разделами производится выбором соответствующего объекта в списке объектов.
В модуле формы список включает общий раздел General, раздел непосредственно формы и раздел для каждого элемента управления из формы.
Для модуля класса список включает общий раздел и раздел Class; для стандартного модуля имеется только общий раздел.
Каждый раздел кода может содержать несколько различных процедур, к которым можно обратиться через список Procedure. Список процедур для модуля формы содержит отдельный раздел для каждой процедуры обработки стандартного события для формы и всех ее элементов управления.
Список модулей классов содержит только процедуры событий непосредственно класса Initialize и Terminate.
Стандартные модули не имеют никаких процедур обработки событий, так как они не поддерживают события.
Список Procedure для раздела модуля General содержит единственный выбор – раздел Declarations, где помещаются объявления уровня модуля переменных, констант и DLL. Если к модулю добавляются подпрограммы Sub и Function, они помещаются в список Procedure ниже Declarations.
В окне редактирования доступны два различных представления кода. С помощью кнопок в нижнем левом углу окна можно выбрать для работы либо какую-либо отдельную процедуру (Procedure View), либо открыть все процедуры модуля (Full Module View). В последнем случае каждая из процедур будет отделена от следующей процедуры тонкой линией.
В VB используется функция автоматического заполнения операторов, свойств и параметров. По мере ввода кода, редактор выводит списки соответствующих прототипов операторов или функций, или значений. Активировать или деактивировать эти и другие установки кодирования можно через вкладку Editor окна диалога Options команды Tools / Options.
При вводе в текст процедуры имени элемента управления функция Auto List Members предоставляет список свойств, доступных для этого элемента. Достаточно ввести первые несколько символов имени свойства – имя будет выделено в списке; нажатие Tab или двойной щелчок на выбранном элементе перенесет его в текст кода. Если данная функция деактивирована, то нажать CTRL+J.
Функция Auto Quick Info выводит на экран синтаксис операторов и стандартных процедур. При вводе имени допустимого оператора или функции VB, синтаксис этого элемента выводится под текущей строкой текста кода, с первым параметром, выделенным полужирным шрифтом. После ввода значения 1-го параметра, в полужирном шрифте появляется 2-й параметр. Данную функцию можно запустить комбинацией CTRL+I.
К стандартному интерфейсу VB можно добавлять функции, обеспечиваемые расширениями из вкладки Add-In-Manager (команда Add-Ins / Add-In-Manager).
При разработке приложения создается проект – коллекция файлов разного формата. В конечном итоге проект компилируется в единый исполняемый модуль приложения с расширением .exe.
Основные компонеты проекта: 1) файл проекта с расширением .vbp, который управляет всеми остальными компонентами, 2) файл с расширением .vbw, являющегося рабочей областью проекта, 3) по одному файлу с расширением .frm для каждой формы, 4) один двоичный файл с расширением .frx для каждой формы, содержащий значения свойств элементов управления – такие файлы недоступны для редактирования и автоматически генерируются для каждого файла .frm В зависимости от типа и сложности проекта, он может также включать (необязательно): 1) файл для каждого модуля класса (.cls), 2) файл для каждого стандартного модуля (.bas), 3) файл ресурсов (.res), 4) файлы дополнительных элементов управления .ocx. Кроме того, во время разработки и в период выполнения также создаются различные файлы: 1) файлы страниц свойств объектов (.pag, .pgx), 2) файл группового проекта (.vbg), 3) файлы пользовательских элементов управления (.ctl, .ctx).
В файле проекта, кроме некоторых установок, хранится также информация о его компонентах и связях между ними. Сами компоненты ничего не знают о других компонентах проекта, поэтому их можно использовать в других проектах.
Для создания проекта используется команда File \ New Project. Для сохранения вновь созданного проекта выполнить File \ Save Project As, а для сохранения проекта после его модификации выполнить File \ Save Project.
Для преобразования проекта в исполняемый модуль используется команда Make project.exe из меню File.
Для открытия существующего файла проекта щелкнуть кнопку Open Project или выполнить File \ Open Project.
Возможно совместное использование файлов несколькими проектами.
Изменения, произведенные в форме или модуле в одном проекте, будут тиражироваться среди всех проектов, в которых. они используются.
В одном сеансе среды программирования можно открыть несколько проектов. Можно открыть группу проектов или отдельный проект из группы. Для добавления проекта к группе используется команда File \ Add Project.
Рассмотрим создание модуля, иллюстрирующего использование стандартных окон диалога для ввода и вывода на примере ввода числа, его увеличения в два раза и вывода результата.
Создание модуля осуществляется в следующей последовательности:
1) войти в VB, выбрать режим New / Standard Exe, убрать заготовку формы;
2) в главном меню выбрать пункт Project, а в нем – Project Properties;
3) открыть вкладку General (Общее) и выбрать Sub Main из списка Startup Object, нажать ОК;
4) в главном меню выбрать пункт View, а в нем – Code;
5) в открывшемся окне набрать следующий текст:
Option Explicit 'Обязательность объявления всех переменных
Sub Main() ‘Ввод, изменение и вывод числа
Dim x As Single, y As Single ‘Переменные для начального значения и результата
x = InputBox( "Введите значение Х") ‘Ввод начального значения
y = 2 * x
MsgBox "Результат изменения: " & STR(y) ‘Вывод результата
End Sub
6) командой File / Save Module As сохранить модуль под требуемым именем (если затем выполнить команду File / Save Project As с указанием имени нового проекта, то данный модуль будет содержаться в этом проекте).
Для запуска модуля используется команда Run / Start.
Для очередной работы модуля (после его закрытия) надо после открытия VB в режиме Existing выбрать из списка требуемый модуль и выполнить команду Open.
Для просмотра и редактирования существующего модуля после его вызова выполнить команды View / Project Explorer и View / Code.
Для запуска модуля используется команда Run / Start.
Для очередной работы модуля (после его закрытия) надо после открытия VB в режиме Existing выбрать из списка требуемый модуль и выполнить команду Open.
Для просмотра и редактирования существующего модуля после его вызова выполнить команды View / Project Explorer и View / Code.