Excel VBA Создание экрана входа в систему - PullRequest
0 голосов
/ 23 мая 2011

и заранее спасибо за помощь.Я создаю экран входа в систему для некоторых рабочих книг. После открытия этой рабочей книги у меня появляется «userform1.show», а в пользовательской форме я жестко закодировал имя пользователя и пароль.когда появляется userform1 с запросом имени пользователя и пароля, я могу нажать X, и он просто закрывает форму, и пользователь все еще может использовать рабочую книгу.Как я могу, чтобы Х закрыл всю книгу?Я не знаю, как этот X называется в VB.Я пробовал "application.enablecancelkey" со всеми 3 вариантами, но ни один не работает.

А) это правильный путь?Б) если это где я это положу?

Ответы [ 2 ]

3 голосов
/ 23 мая 2011

Вы должны настроить событие QueryClose следующим образом:

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
   If MsgBox("Exit?", vbOKCancel) = vbOK Then
      ThisWorkbook.Close
   Else
      Cancel = True
   End If
End Sub

Пожалуйста, внесите необходимые коррективы, чтобы лучше соответствовать вашему реальному случаю.

2 голосов
/ 24 мая 2011

Вы можете написать

Private Sub UserForm_QueryClose(cancel As Integer, CloseMode As Integer)
    If CloseMode = 0 Then
        ThisWorkbook.Close
    End If
End If

В качестве альтернативы вы также можете запретить закрытие формы входа с помощью " X "

Private Sub UserForm_QueryClose(cancel As Integer, CloseMode As Integer)
    If CloseMode = 0 Then
        cancel = 1
        MsgBox "Please use cancel if you want to leave the Login Box.", _
            vbOKOnly + vbInformation, "Please confirm ..."
    End If
End Sub

Вот как мы это делаемс нашими логинами ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...