
- •Лабораторная работа №3. Работа с электронными документами в ms Word
- •Лабораторная работа №4. « Работа с электронными таблицами в ms Excel . Вычисления сумм, произведений, арифметических выражений, построение диаграмм » Отчет:
- •Лабораторная работа №5. Работа с макросами в приложениях Word и Excel
- •Лабораторная работа №6. Обмен данными между листами Excel и программой на vba
- •Лабораторная работа №7. Программирование арифметических формул. Оконный ввод-вывод информации на vba
- •Лабораторная работа №9. Логические операции и стандартные функции vba
- •Лабораторная работа №10. Условные операторы и программирование разветвления программы на vba
- •Лабораторная работа №11. Циклы на vba
- •Лабораторная работа №5
Лабораторная работа №10. Условные операторы и программирование разветвления программы на vba
Цель работы: научиться на VBA: программировать разветвляющиеся вычисления с помощью инструкций IF-THEN-ELSE и SELECT CASE, а также устанавливать выборочный доступ к листам Excel по паролям
Элемент |
Описание |
Условие Инструкции Условие 1 Инструкции_elseif Инструкции_else Инструщии_elseif_else |
Обязательный элемент, представляющий логическое выражение, имеющее значение True или False. Если Условие имеет значение Null, то значение Условие считается равным False Необязательный элемент в блоковой форме, но обязательный — в строчной форме. Этот элемент представляет собой одну или несколько инструкций, разделяемых двоеточиями, которые выполняются, если Условие имеет значение True Обязательный элемент, аналогичный элементу Условие, если употреблено выражение Elseif Необязательный элемент — одно или несколько инструкций, которые выполняются, если Условие имеет значение ^ False, а Условие-п — True Необязательный элемент— одна или несколько инструкций, которые выполняются, если Условие имеет значение False Необязательный элемент — одно или несколько инструкций, которые выполняются, если ни ^ Условие, ни Условие-n не имеют значение False |
Ход работы:
1) На первых трех листах набираем «секретную» информацию. Защищаем эти листы от записи в ячейки с помощью команд меню «Сервис»-«Защита»-«Защитить лист» и скрываем три первых листа (перед этим добавляем лист 4) с помощью команд меню «Формат»-«Лист»-«Скрыть». Сохраняем файл с «секретной» информацией на диске под именем ЛР№10.xls (при его открытии первые 3 листа должны быть не видимы).
2) Через меню «Сервис-Макрос» вызываем редактор VBA, вставляем модуль и набираем пример программы проверки пароля при автозагрузке файла с помощью инструкции IF-THEN-ELSE. Проверяем ее работу в пошаговом режиме.
3) Поочередно открываем «секретный» файл ЛР№10.xls (при этом должен автоматически запрашиваться пароль). При наборе пароля “777” все три листа становятся видимыми с доступом к записи в ячейки, пароля ”771” – становится видимым лист 1 с доступом к записи в этот лист (лист 2 должен оставаться невидимым, а лист 3 – защищен от записи в ячейки), пароля ”717” – лист 1 появляется только для чтения ячеек. Любой другой пароль не должен показывать листы с «секретной» информацией.
Пример программы
Sub Auto_Open()
PassWord
End Sub
Sub PassWord()
Dim PassW As String
PassW = GetPassWord
If PassW = "123" Then
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Visible = True
Sheet.Unprotect
Next
MsgBox "Вы получили полный доступ"
ElseIf PassW = "234" Then
ActiveWorkbook.Worksheets(1).Visible = True
ActiveWorkbook.Worksheets(1).Unprotect
MsgBox "Вы получили полный доступ к листу1"
ElseIf PassW = "345" Then
ActiveWorkbook.Worksheets(1).Visible = True
MsgBox " Вы получили доступ на чтение к листу1"
Else
MsgBox "Пароль неверен"
End If
End Sub
Function GetPassWord()
GetPassWord = LCase(InputBox("ВВЕДИ ПАРОЛЬ: ", "PassWord"))
End Function
оглавление