Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчёт по лабораторным работам Сенченко.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
3.56 Mб
Скачать

Лабораторная работа №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

оглавление