Студопедия — Процедуры обработки событий и надстройки
Студопедия Главная Случайная страница Обратная связь

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

Процедуры обработки событий и надстройки






Цель работы: приобретение навыков запуска процедуры при открытии, закрытии и сохранении книги; создания и пользования надстройками для приложения Excel.

 

1 Теоретические сведения

 

Программа, управляющая событиями, – это такая программа, которая крутится в бесконечном цикле, ожидая и реагируя на некоторые события, в отличие от программ, которые просто выполняют линейную последовательность команд. Событием может быть нажатие клавиши на клавиатуре или щелчок кнопки мыши, выбор активного листа, открытие или закрытие книги. Поскольку поведение программы определяется конкретными событиями, которые возникают во время работы программы, то о таких программах говорят, что они управляются этими событиями. При наступлении события программа запускает одну или несколько процедур, связанных с этим событием. Такие процедуры называются обработчиками события, или процедурами обработки событий.


 

Хотя в приложении Excel содержатся сотни объектов, лишь некоторые из них создают события, которые вы можете обрабатывать своими процедурами. Вот все эти объекты приложения Excel: Application, Workbook, Worksheet и Chart.

 

1.1 Где хранятся процедуры обработки событий

Процедуры обработки событий хранятся не в стандартном модуле, а в модуле класса объекта. Такие объекты приложения Excel, как Workbook, Worksheet и Chart, содержат модули класса, в которых можно хранить процедуры обработки событий соответствующего объекта.

Исключением из правила, определяющего, где и как хранить процедуры обработки событий, является объект Application. Этот объект не имеет модуля класса, в котором бы хранились его процедуры обработки событий. Поэтому процедуры объекта Application хранятся в модуле класса, создаваемом пользователем.

Для того, чтобы отобразить или создать процедуру обработки события для объекта, отличного от Application, сделайте следующее:

1) в окне редактора Visual Basic отобразите окно Проект, если оно еще не отображено;

2) в окне Проект щелкните на объекте, для которого вы собираетесь создать (или модифицировать) процедуру обработки события;

3) в окне Проект щелкните на кнопке Программа, чтобы отобразить в окне Программа модуль класса выбранного объекта;

4) в списке Объект окна Программа выберите сам объект, т.е. если вы выбрали объект Worksheet (Лист1) в окне Проект, то вы должны выбрать элемент Worksheet в списке Объект;

5) выберите в списке Процедуры процедуру обработки событий, которую хотите создать или модифицировать. Список Процедуры будет содержать только те элементы, которые связаны с событиями, вызываемыми объектом, модуль класса которого вы открыли.

 

1.2 Имя и описание процедуры обработки событий

Связь конкретной процедуры в модуле класса объекта с определенным событием устанавливается с помощью средств языка VBA на основе имени процедуры.

Процедуры обработки событий должны использовать следующий синтаксис объявления:

Private Sub Object_EventName(Arguments)


 

Процедуры обработки событий в модуле класса объекта должны быть объявлены закрытыми, т.е. с использованием ключевого слова Private. В этом синтаксисе элемент Object представляет имя типа объекта, которому принадлежит процедура обработки событий, например, App (для объекта Application) или Workbook. Элемент EventName представляет имя обрабатываемого события, например, BeforeSave, BeforeDoubleClick и т.д. Элемент Arguments представляет список аргументов процедуры обработки события.

 

1.3 Процедуры, выполняемые при наступлении событий

Имена процедур, свойств и методов, которые выполняются в ответ на события, должны начинаться с On. Excel поддерживает следующие On-процедуры:

- OnAction выполняется, если указанный объект становится активным, например, на нем щелкнули кнопкой мыши;

- OnCalculate выполняется после пересчета рабочего листа;

- OnData выполняется, когда получены данные из приложения, отличного от Excel;

- OnEntry выполняется, когда пользователь нажал клавишу < Enter> (или переместил табличный курсор в другую ячейку) после ввода данных в ячейку;

- OnKey выполняется, если нажата указанная комбинация клавиш;

- OnRepeat выполняется, если возвращена отмененная команда;

- OnSheetActivate выполняется, когда делается активным (текущим) указанный рабочий лист;

- OnSheetDeactivate выполняется, если пользователь переходит из указанного рабочего листа в любой другой;

- OnTime выполняется в указанное время, если в это время загружена программа Excel и открыта книга, содержащая процедуру OnTime;

- OnUndo выполняется при отмене ранее выполненной команды;

- OnWindow выполняется, когда пользователь переключается в указанное окно либо когда активизируется или открывается окно приложения Excel.

 

1.4 Создание надстроек Excel

Рабочая книга-надстройка содержит информацию, созданную пользователем, например, специальную структуру и оформление рабо


чего листа или процедуры. Книгу-надстройку нельзя открыть (как обычную рабочую книгу) и изменить, но она может содержать средства настройки, которыми пользователь может управлять. Обычно надстройки содержат следующее:

- функции, созданные пользователем;

- пользовательские диалоговые окна;

- пользовательские меню;

- пользовательские панели инструментов.

После полной отладки и тестирования программы вы готовы передать ее своим пользователям. Для преобразования проекта VBA, сохраненного в виде рабочей книги, в формат надстройки выполните следующее:

1) откройте рабочую книгу Excel, которая содержит приложение VBA, подлежащее преобразованию в надстройку;

2) скройте любые рабочие листы, которые не предназначены для глаз пользователя, а затем выберите команду Сервис → Защита → Защитить книгу, чтобы обеспечить защиту структуры рабочей книги с помощью пароля;

3) перейдите в режим редактора Visual Basic;

4) в окне Visual Basic откройте окно Project и выберите проект, предназначенный для преобразования в надстройку;

5) выберите команду Debug → Compile, чтобы скомпилировать свой проект VBA. Компиляция проекта непосредственно перед преобразованием его в надстройку гарантирует, что весь текст программы надстройки находится в скомпилированном состоянии, и что ваша настройка будет выполняться на максимальной скорости;

6) выберите команду Tools → Properties < VBA project >, чтобы отобразить диалоговое окно Project Properties, и щелкните на вкладке Protection, если она еще не отображена;

7) во вкладке Protection диалогового окна Project Properties установите флажок Lock Project for Viewing;

8) введите пароль для своей надстройки в текстовое поле Password. После сохранения надстройки исходный текст программы надстройки можно будет редактировать только в том случае, если пользователь правильно введет пароль;

9) подтвердите свой пароль, введя его во второй раз в текстовое поле Confirm Password. Если два введенных варианта паролей не совпадут, то после вашего щелчка на кнопке ОК редактор Visual Basic отобразит сообщение об ошибке;


 

10) щелкните на кнопке ОК. Теперь ваш проект находится под защитой редактора Visual Basic. Компоненты проекта теперь нельзя просмотреть в окне Project, а исходный текст программы – в окне Code, если не ввести правильный пароль;

11) в окне Excel выберите команду Файл, Сохранить как;

12) выберите в раскрывающемся списке Тип файла диалогового окна Сохранение документа элемент Надстройка Microsoft Excel;

13) заполните должным образом остальные опции диалогового окна Сохранение документа: введите для надстройки имя файла и выберите папку;

14) для сохранения рабочей книги щелкните на кнопке Сохранить. На этом создание вашей надстройки завершено.

 

2 Практическая часть

 

З а д а н и е 1

Откройте новую рабочую книгу и создайте процедуру Auto_Open, которая должна выполнять следующие операции:

- ввести текст Дата:, Имя:, Организация: в ячейки А1, А2 и А3 соответственно;

- с помощью функции Now в ячейку В1 отобразить системное время компьютера;

- использовать свойство UserName объекта Application для вставки имени пользователя в ячейку В2;

- использовать свойство OrganizationName объекта Application для вставки названия организации в ячейку В3;

- подогнать размеры столбцов А и В так, чтобы они полностью отображали введенные данные.

Протестируйте процедуру.

 

3 Контрольные вопросы

 

3.1 Истинно или ложно следующее утверждение: в рабочей книге может быть несколько процедур Auto_Open?

3.2 Назовите не менее двух свойств событий, которые можно назначить для выполнения процедур проверки корректности вводимых данных.

3.3 Предположим, что при закрытии рабочей книги необходимо сохранить внешний файл Word. Как это сделать?

3.4 Сформулируйте задачи, которые могут выполнять надстройки.


Литература

 

Основная

 

1 Гарнаев А.Ю. Visual Basic 6.0: разработка приложений. – СПб: БВХ–

Санкт-Петербург, 2000. – 448 с.

2 Киммел П. Освой самостоятельно программирование для Microsoft

Access 2000. – М.: Издательский дом «Вильямс», 2000. – 448 с.

3 Нортон П. и др. Microsoft Office 2000. Избранное от Питера Нортона.

- Киев: Издательство «ДиаСофт», 1999. – 560 с.

4 Подлин Шарон. Освой самостоятельно программирование для Micro-

soft Excel 2000. – М.: Издательский дом «Вильямс», 2000. – 298 с.

5 Соха Дж., Рахмел Д., Хопп Д. Изучи сам Visual Basic 5.0 – Мн.: ООО

«Попурри», 1998. – 320 с.

6 Харитонова И.А., Михеева В.Д. Microsoft Access 2000. – СПб: БВХ–

Санкт-Петербург, 2000. – 1088 с.

7 Харитонова И.А., Михеева В.Д. Microsoft Access 2000: разработка

приложений. – СПб: БВХ–Санкт-Петербург, 2000. – 832 с.

8 Харрис Мэтью. Освой самостоятельно программирование для Micro-

soft Excel 2000. – М.: Издательский дом «Вильямс», 2000. – 822 с.

 

Дополнительная

 

9 Гарнаев А.Ю. Самоучитель VBA. – СПб: БВХ – Санкт-Петербург,

2000. – 512 с.

10 Стоцкий Ю. Самоучитель Office 2000. – СПб: Питер, 1999. – 576 с.

 


Содержание

 

Введение  
Указания по выполнению лабораторных работ  
Лабораторная работа 1 Ввод данных. Логика условных операторов. Циклические вычисления  
Лабораторная работа 2 Работа с макросами  
Лабораторная работа 3 Экранные формы. Автоматизация экранных форм  
Лабораторная работа 4 Меню и панели инструментов  
Лабораторная работа 5 Управление приложением Excel с помощью VBA  
Лабораторная работа 6 Диаграммы. Усовершенствованная процедура построения диаграмм  
Лабораторная работа 7 Сводные таблицы. Запись макроса для создания сводной таблицы  
Лабораторная работа 8 Автоматизация. Использование объектов Microsoft Word  
Лабораторная работа 9 Доступ к данным с помощью ADO  
Лабораторная работа 10 Процедуры обработки событий и надстройки  
Литература  

 


Учебное издание

 

 

СИСТЕМНОЕ И ПРИКЛАДНОЕ
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

 

 

Лабораторный практикум

 

 

Для студентов специальности 1 - 08 01 01 - 07
«Профессиональное обучение. (Информатика)»

 

Составитель

Мещерякова Анжелика Анатольевна

 

Зав. ред.-издат. отд. О.П. Козельская

Редактор Г.Л. Говор

Корректор Н.Г. Михайлова

 

 

План издания 2002 г. (поз, 33)

 

 

Подписано в печать 17.12.2002. Формат 60x84 1/16 Бумага писчая.

Гариитлра Тайме Печать ризографическая. Усл. печ. л. 3.95

Уч.-изд. л. 2, 58. Тираж 100 экз. Заказ 456.

 

Издатель и полиграфическое исполнение Учреждение образования

«Минский государственный высший радиотехнический колледж»

Лицензия ЛВ № 560 от 25.10.2002.

Лицензия ЛП № 327 от 20 01.1999.

220005. г. Минск, пр-т Ф. Скорины. 62.







Дата добавления: 2014-11-10; просмотров: 1227. Нарушение авторских прав; Мы поможем в написании вашей работы!



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Растягивание костей и хрящей. Данные способы применимы в случае закрытых зон роста. Врачи-хирурги выяснили...

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Типовые примеры и методы их решения. Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно. Какова должна быть годовая номинальная процентная ставка...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

Словарная работа в детском саду Словарная работа в детском саду — это планомерное расширение активного словаря детей за счет незнакомых или трудных слов, которое идет одновременно с ознакомлением с окружающей действительностью, воспитанием правильного отношения к окружающему...

Studopedia.info - Студопедия - 2014-2024 год . (0.013 сек.) русская версия | украинская версия