Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Среда для написания программы на VBA






 

Наша задача в этом разделе – начать знакомство с возможностями VBA в среде Excel. Поэтому запустите Excel и выведите на экран панель инструментов – Элементы управления (для этого в меню Вид надо выбрать раздел Панели инструментов и поставить отметку напротив строки - Элементы управления). В результате на экране появится новая панель инструментов – Элементы управления (выглядеть это должно подобно изображению на рис.1).


 

 

Рис. 1.


Для того, чтобы на рабочем листе разместить какой-нибудь элемент управления (из указанной выше панели инструментов), необходимо перейти в режим конструктора (с помощью кнопки, показанной на рис.2). Теперь для того, чтобы перенести тот или иной элемент на рабочий лист, необходимо щелкнуть на нем левой кнопкой мыши, и далее разместить его на рабочем листе (при нажатой левой кнопке мыши).

В Office 2007 действия с элементами управления проводятся на вкладке Разработчик. Для того, чтобы эта вкладка появилась на экране, необходимо активизировать кнопку Office, выбрать команду Параметры Excel и установить флажок

Задание 1. Выполняйте все дальнейшие действия, согласно описанию.

Разместите командную кнопку, как это показано на рис.2 (в дальнейшем тексте командная кнопка будет называться просто кнопкой).

 

 

Рис.2.


Важно отметить, что после размещения элемента управления на рабочем листе Excel этот элемент становится объектом. При этом первоначальное имя объекта назначается автоматически (например, CommandButton1), но в дальнейшем это имя можно изменить. Таким образом, мы создали элемент управления в режиме конструктора, и если Вы хотите воспользоваться этим элементом управления, необходимо выйти из режима конструктора (как это сделать указано выше). В результате выполненных действий на рабочем листе появилась кнопка, которая, правда, пока никакой полезной роли не играет. Мы можем просто ей пощелкать без какого либо эффекта. Теперь вернемся в режим конструктора и рассмотрим некоторые свойства созданной кнопки.

Рис. 3.

Для просмотра свойств кнопки ее сначала необходимо выделить (щелкнуть мышкой), а затем нажать кнопку для открытия окна свойств объекта (рис.3). Можно открыть окно свойств и правой кнопкой мыши, выбрав в контекстном меню пункт «Свойства». Принцип организации окна свойств следующий: левая колонка содержит название свойства, а правая значение этого свойства. Так первая строка окна свойств на рис.3 (Name CommandButton1) говорит о том, что свойству Name присваивается значение CommandButton1. Если мы хотим дать другое имя этой кнопке, то вместо CommandButton1 мы должны набрать любое имя без пробелов. В качестве примера введем Кнопка1. Теперь выберем свойство Caption, которое означает надпись на кнопке (фактически это бирка или ярлык на кнопке). Поменяйте значение этого свойства (например, на название Кнопка на листе), а далее поменяем цвет кнопки (сделаем кнопку не серой, а, скажем, зеленой). Для этого установим свойство BackColor с помощью мыши в зеленый цвет. Можно также поменять шрифт букв – для этого существует свойство Font. В результате кнопка на рабочем листе может принять примерно следующий вид (рис.4).

Рис. 4.

Можно также с помощью свойства Picture вставить на кнопку картинку из графического файла. Теперь разместим на листе другой элемент управления – Текстовое окно (рис.5). Действия для размещения элемента уже нам знакомы – необходимо щелкнуть на пиктограмме элемента Текстовое окно (рис. 5) и далее при нажатой левой кнопке мыши разместить это элемент на рабочем листе. Установите значение свойства Namе этого нового элемента – ТекстовоеОкно. Выберем цвет (свойство BackColor) текстового окна серым. Далее установим свойство MultiLine в значение True. В этом случае длинный текст в этом окне будет переноситься со строки на строку. Альтернативным вариантом является False – в этом случае текст будет только в одной строке.

 

Рис. 5.

Теперь перейдем к обработке событий. Наша задача сделать так, чтобы при щелчке по кнопке в текстовое окно выводился текст (например, Пример вывода текста). Разберем - как это сделать. Для начала перейдите в режим конструктора. После этого необходимо перейти в среду для написания кода (или текста) программы. Это уже новый и очень важный шаг. Для этого дважды щелкните по созданной кнопке (Кнопка1). Другой способ перехода в среду для написания кода – меню Сервис, далее пункты Макросы и Редактор Visual Basic). В результате перед Вами появится новая среда редактора кода (рис.6). Здесь требуется сначала сделать выбор объекта, а затем для выбранного объекта можно написать содержимое процедуры, выполняемой при определенном событии. Наша задача - обеспечить вывод в текстовое окно сообщения при щелчке по кнопке. Для этого в левом списке (рис.6) необходимо выбрать Кнопка1 (объект который нас интересует), а затем в правом Click (другими слова щелчок по кнопке). На рис.7 показан результат – на экране появляется окно процедуры, которая будет выполняться при щелчке по кнопке.

Рис. 6.

Первое слово Private говорит о том, что это внутренняя процедура только для данного листа. Поэтому для других листов эта процедура недоступна. Пока данный параметр мы менять не будем, заметим только что альтернативным вариантом является Public (общая процедура – в этом случае доступна для других листов). Слово Sub говорит о том, что это процедура. Дальнейшая запись Кнопка1_Click() – имя процедуры. Это имя формируется автоматически из двух составляющих - Кнопка1 (имя кнопки)и Click (действие – щелчок по кнопке). Это так называемая предопределенная процедура – она существует и выполняется всегда - когда мы щелкаем по кнопке.

Рис. 7.

Запись End Sub говорит о завершении рассматриваемой процедуры. Теперь, если мы между этими двумя строками напишем программный фрагмент, то этот фрагмент будет автоматически выполняться при щелчке по кнопке (рис.8).

Рис. 8.

Прокомментируем новые моменты, присутствующие на рис.8. Словосочетание ТекстовоеОкно.Text говорит о том, что выбирается объект с именем ТекстовоеОкно и рассматривается его свойство Text (фактически это – текст, который располагается в этом текстовом окне). Знак равенства и последующая фраза говорят о том, что рассматриваемому свойству присваивается значение Пример вывода текста. Теперь перейдем из окна редактора Visual Basic в Excel (рис.8). В результате щелчка по кнопке в текстовом окне появится заданный текст (Рис.9).

Рис. 9.

Теперь создадим кнопку, при щелчке по которой текст в текстовом окне будет стираться. Назовем эту кнопку «Кнопка2».

Программный код для щелчка по этой кнопке будет выглядеть так, как показано на рис. 10.

Рис.10

Задание 2. Рассмотрим теперь следующий элемент управления – поле со списком (рис.11). Этот элемент применяется для хранения списка значений. В этом элементе до его активизации (щелчком мыши) всегда отображается только одно значение списка. После активизации поля со списком список раскрывается и из него можно выбрать необходимый элемент. Кроме свойства Name у данного элемента есть несколько важных свойств. Рассмотрим их для дальнейшего использования.

 
 


Рис. 11.

Свойства, которые будут рассматриваться ниже: ListIndex, ListCount, в окне свойств не отображаются. Они будут фигурировать только в тексте программы. Свойство ListIndex содержит номер текущего элемента списка (того, который подсвечен – на нем щелкнули мышкой). Нумерация элементов списка начинается с нуля. Фактически по значению этого свойства можно определить, какой элемент списка ему соответствует. Свойство ListCount содержит число элементов списка, а свойство Text, выбранный в списке элемент.

Теперь рассмотрим наиболее используемые методы работы со списком. Метод Clear удаляет все элементы из поля со списком. Синтаксис использования: ИмяОбъекта. Clear. Метод AddItem добавляет элемент в список. Синтаксис использования: ИмяОбъекта. AddItem элемент. Метод RemoveItem – удаление элемента из списка. Синтаксис использования:

RemoveItem номер удаляемого элемента.

Задание 3. Наша задача теперь разработать на рабочем листе следующий программный фрагмент (рис. 12).

Рис. 12.

Необходимо обеспечить выполнение следующих действий:

· по щелчку по кнопке Заполнение список заполняется строками – яблоко, груша, слива, дыня, арбуз;

· по щелчку по полю со списком выбранный элемент помещается в текстовое окно слева;

· по щелчку по кнопке Очистка текстовое окно и поле со списком очищаются – становятся пустыми.

Для заполнения поля со списком по щелчку по кнопке Заполнение необходимо процедуру Заполнение_Click() оформить так как показано на рис. 13.

Рис. 13.

Далее для заполнения текстового окна по щелчку по полю со списком (при выборе того или иного элемента списка) необходимо процедуру Список_Click () оформить так как показано на рис.14.

Рис. 14.

Теперь для очистки списка и текстового окна необходимо написать обработку события Щелчок по кнопке Очистка (рис. 15).

Рис. 15.

Теперь разрабатываемый программный фрагмент на рабочем листе готов и Вы можете попробовать его в работе (выйдя из режима конструктора).






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.