- •Кафедра учета, анализа и аудита
- •«Компьютерные системы и сети»
- •Часть 2. Программирование на vba
- •Введение
- •Тема № 1 создание пользовательских функций
- •Тема № 2 пользовательские процедуры
- •Тема 2.1 Ввод записей в базу данных
- •Тема 2.2 Поиск уникальной записи по указанным критериям
- •Тема 2.3 Расчет итоговых показателей по всем и группе записей.
- •Тема 2.4 Поиск записей согласно критериям.
- •Тема № 3 отладка программ и обработка ошибок
- •Тема № 4 проектирование пользовательских форм для ввода-вывода информации
- •Тема 4.1 Использование формы в процедуре Auto_Open
- •Тема 4.2 Ввод новой записи в форме, обработка записей
- •Тема № 5 проектирование системного меню и справочной информации
- •Приложение
- •Оглавление
Тема 4.1 Использование формы в процедуре Auto_Open
Существуют некоторые процедуры, автоматически выполняющиеся при наступлении какого-либо события.
Процедура Auto_Openавтоматически загружается в момент открытия книги, поэтому, как правило, содержит команды настройкиExcel, запросы пароля, устанавливаемого пользователем. ПроцедураAuto_Closeвыполняется при закрытии книги, включает в себя команды сохранения, резервного копирования, восстановления первоначальных настроек приложения.
В представленной ниже процедуре происходит запрос пароля пользователя. В случае правильно введенного пароля активизируется форма приветствия, отображающая текущую дату, в противном случае приложение закрывается.
На рис. 3 представлена форма, содержащая две надписи, значение первой из которых вводится при проектировании формы, и кнопка.
Рис. 3 |
Subauto_open() ‘начало стандартной процедуры
Parol=InputBox("Введите пароль", "Ввод") ’ввод пароля
IfParol=”Boss”Then‘если введен правильный пароль «Boss»
With UserForm1 ‘действия с объектами формы
.Label2 = "Сегодня - " &Date‘формируется вторая надпись для отображения текущей даты
.Show‘активизируется форма
EndWith‘заканчиваются действия с формой и ее объектами
Else‘иначе, если введен неверный пароль
Application.Quit‘закрытие приложенияExcel
End If
EndSub‘конец процедуры
Процедура, закрепленная за кнопкой ОК формы
Private Sub CommandButton1_Click()
UserForm1.Hide
End Sub
Задание № 8. Создать автоматически загружаемую в момент открытия книги процедуру согласно заданию табл. 10.
Таблица 10
Процедура Auto_Open
Вариант |
Задание |
1 |
Ввод с клавиатуры имени пользователя и пароля. Если пароль верен – в форме вывести «Здравствуйте, <имя>!», в противном случае закрыть книгу. |
2 |
Ввод с клавиатуры имени пользователя. Проверить, если данное имя имеется в списке зарегистрированных пользователей, в форме вывести приветствие, содержащее имя пользователя. |
3 |
Ввод пароля и имени. Если пароль верный, имя – одно из зарегистрированных, открыть книгу, в противном случае вывести сообщение об отказе в доступе. |
4 |
Ввод с клавиатуры пароля. Если длина пароля соответствует установленной и в нем встречается заранее известный символ, вывести форму с приветствием, содержащую текущие месяц и год. |
5 |
Ввод с клавиатуры в форму имени пользователя и пароля. Если имя и пароль совпадают, книгу активизировать, в противном случае книгу закрыть. |
6 |
Ввод с клавиатуры имени пользователя и пароля. Если пароль неверен, а также при верном пароле и дне, приходящимся на субботу или воскресенье, вывести форму с отказом в доступе, текущей датой и днем недели. |
7 |
Ввод с клавиатуры имени пользователя и даты его рождения. Если возраст пользователя меньше 18 лет, вывести в форме сообщение «<Имя>, доступ отказан» и книгу закрыть. |
8 |
Ввод с клавиатуры имени пользователя и текущей даты. Если день – будний, в форме вывести «Привет,<имя>!», в противном случае – «В выходные надо отдыхать!» |
9 |
Ввод с клавиатуры пароля. В этой же форме, если пароль верный, отразить приветствие, в противном случае – отказ в доступе, приложение закрыть. |
10 |
Ввод с клавиатуры имени пользователя и даты рождения. В форме отразить приветствие с указанием дня недели даты рождения и символьного представления месяца. Например, «Привет, Вы родились в понедельник, месяц – Март» |