Как выгрузить форму?

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
aks_sv
Сообщения: 53
Зарегистрирован: 30 окт 2007, 06:38

Здравствуйте, ВСЕМ!
Почему у меня не закрывается одна форма при открытии другой, а остается "висеть" на заднем плане? :(

Код: Выделить всё

 Private Sub btn_Exit_Click()
    frm_Справка.Show
    Unload frm_View 
End Sub
SAS888
Сообщения: 156
Зарегистрирован: 16 янв 2008, 08:28

По событию инициализации, например, формы UserForm2. Для закрытия (выгрузки) UserForm1 используйте Unload UserForm1. Если просто скрыть, то UserForm1.Hide. Все зависит от того, что требуется.
aks_sv
Сообщения: 53
Зарегистрирован: 30 окт 2007, 06:38

SAS888,
Записал в код формы frm_View(UserForm1) по нажатию кнопки Exit

Код: Выделить всё

Private Sub btn_Exit_Click()
frm_Справка.Show
End Sub
В коде формы frm_Справка(UserForm2)

Код: Выделить всё

Private Sub UserForm_Initialize()
    Unload frm_ViewEmp
End Sub
Результат тот же.
SAS888
Сообщения: 156
Зарегистрирован: 16 янв 2008, 08:28

Посмотрите пример во вложении.
aks_sv
Сообщения: 53
Зарегистрирован: 30 окт 2007, 06:38

SAS888,
Спасибо, все ОК
aks_sv
Сообщения: 53
Зарегистрирован: 30 окт 2007, 06:38

SAS888,
Рано обрадовался. У Вас все получается, а у меня нет. Пришлось на открывание формы frm_Справка сделать макрос "Справка", а между закрытием одной формы и открытием другой сделать задержку:

Код: Выделить всё

Application.OnTime Now + TimeValue("00:00:01"), "Справка"
Теперь все как надо.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Если Вы где-либо вызываете процедуру или функцию из модуля некой формы, то происходит подгрузка формы. Может быть в этом дело?
Ответить