Я создаю пользовательский интерфейс с VBA и у меня возникает проблема при закрытии формы с помощью кнопки X
.
Главное окно имеет несколько кнопок; один из них вызывает форму для идентификации пользователя. Очень простой код ниже:
Private Sub CommandButton3_Click()
Main_Form.Hide
Identification_Form.Show
End Sub
Затем открывается форма идентификации; Он имеет текстовое поле, в котором пользователь вводит свое имя, и кнопку OK
для подтверждения и отслеживания процесса.
Тем не менее, я хочу, чтобы пользователь мог закрыть это окно с помощью кнопки X
и вернуться к основной форме.
Код ниже:
Public how_closing As Integer
Private Sub UserForm_Terminate()
If how_closing = 0 Then
Main_Form.Show
End If
End Sub
Private Sub UserForm_Activate()
how_closing = 0
End Sub
Private Sub OK_Id_Click()
If TextBox1.Text = "" Then
MsgBox "Please enter your name."
Exit Sub
End If
user_name = TextBox1.Text
how_closing = 1
Unload Identification_Form
Third_Form.Show
End Sub
Переменная how_closing
используется, чтобы узнать, происходит ли выгрузка формы из-за нажатия кнопки OK
или кнопки X
(поведение, конечно, не должно быть одинаковым).
Моя проблема заключается в следующем:
Если я запускаю идентификацию в первый раз, все работает нормально. Но если я закрою его (кнопка X
), а затем перезапущу, ничего не получится; кнопка OK
не реагирует, как и кнопка X
. Все, что я могу сделать, это остановить все macros
.
Вы когда-нибудь видели такого рода ошибку?