Visual Basic. Теория. Нагина Е.К - 50 стр.

UptoLike

Составители: 

50
Sheet. Unprotect
Next
MsgBox You have read/write access te all sheets.
ElseIf Password = level2 Then
ActiveWorkbook.Worksneets (1).Visible = True
ActiveWorkbook.Worksneets (1).Unprotect
MsgBox You have read/write access to one worksneet.
ElseIf Password = level3 Then
ActiveWorkbook.Worksneets (1).Visible = True
MsgBox You have read-only access to one worksneet.
Else
MsgBox Passwore incorrect. Please try again
End If
End Sub
Function GetPassword ( )
GetPassword = Lcase (InputBox(Enter Password:, Password))
End Function
В Proc31 ключевое слово ElseIf с последующим условием использу-
ется дважды . Новое условие вносит в порядок выполнения команд допол-
нительные изменения , если проверка первого условия закончилась неуда-
чей . В Proc31 первое условие указано сразу за ключевым словом If. В нем
проверяется равенство переменной Password строке levell. Если пере-
менная не равна строке, VBA переходит к первому ключевому слову ElseIf,
где проверяет следующее условие равенство переменной Password стро -
ке level2. Начиная с этого момента , программа использует только новое
условие, забывая” о старом. Если равенства опять нет, управление пере-
ходит к следующему ключевому слову ElseIf и т. д.
В строке 3 процедуры Proc31 вызывается функция GetPassword, в
которой использованы новые элементы . Рассмотрим более подробно эти
элементы .
Function GetPassword ( )
GetPassword = Lcase (InputBox(Enter Password:, Password))
End Function
Здесь во второй строке заданы обращения к двум встроенным функ-
циям VBA-Lcase и InputBox. Первая преобразует все буквы переданной в
нее строки в строчные. Вторая выводит на экран диалоговое окно с запро -
сом на ввод данных пользователем . У этой функции есть несколько необя-
зательных аргументов, из которых нас интересуют только первые два.
Один из них строка, отображаемая в окне над полем для ввода. Второй
содержит строку заголовка диалогового окна. При вызове функции Input-
Box на экране появляется диалоговое окно с заданными заголовком и тек-
                                          50
               Sheet. Unprotect
         Next
         MsgBox “You have read/write access te all sheets.”
    ElseIf Password = “level2” Then
         ActiveWorkbook.Worksneets (1).Visible = True
         ActiveWorkbook.Worksneets (1).Unprotect
         MsgBox “You have read/write access to one worksneet.”
    ElseIf Password = “level3” Then
         ActiveWorkbook.Worksneets (1).Visible = True
         MsgBox “You have read-only access to one worksneet.”
    Else
         MsgBox “Passwore incorrect. Please try again”
    End If
End Sub

Function GetPassword ( )
    GetPassword = Lcase (InputBox(“Enter Password:”,” Password”))
End Function

       В Proc31 клю чево е сло во ElseIf с по следую щ им усло вием испо льзу-
ется дваж ды . Н о во е усло вие вно ситв по рядо к вы по лнения ко манд до по л-
нительны е изменения, если про верка перво г     о усло вия зако нчилась неуда-
чей . В Proc31 перво е усло вие указано сразуза клю чевы м сло во м If. В нем
про веряется равенство переменно й Password стро ке ”levell”. Е сли пере-
менная не равнастро ке, VBA перехо дитк перво муклю чево мусло вуElseIf,
где про веряетследую щ ее усло вие – равенство переменно й Password стро -
ке “level2”. Н ачиная с это г  о мо мента, про граммаиспо льзуетто лько но во е
усло вие, “ забы вая” о старо м. Е сли равенства о пять нет, управление пере-
хо дитк следую щ емуклю чево мусло вуElseIf и т. д.
       В стро ке 3 про ц едуры Proc31 вы зы вается функц ия GetPassword, в
ко то ро й испо льзо ваны но вы е элементы . Рассмо трим бо лее по дро бно эти
элементы .

Function GetPassword ( )
      GetPassword = Lcase (InputBox(“Enter Password:”,” Password”))
End Function

      Здесь во вто ро й стро ке заданы о бращ ения к двум встро енны м функ-
ц иям VBA-Lcase и InputBox. П ервая прео бразуетвсе буквы переданно й в
нее стро ки встро чны е. В то рая вы во дитна экран диало г      о во е о кно с запро -
со м на вво д данны х по льзо вателем. У это й функц ии есть неско лько нео бя-
зательны х арг   ументо в, из ко то ры х нас интересую т то лько первы е два.
О дин из них – стро ка, о то браж аемая в о кне над по лем для вво да. В то ро й
со держ итст  ро кузаго ло вка диало г  о во го о кна. П ри вы зо ве функц ии Input-
Box на экране по является диало г    о во е о кно с заданны ми заг    о ло вко м и тек-