Страницы: 1
RSS
Не отображается содержимое формы, запуск .Show vbModeless происходит без отображения содержимого окна (((
 
Добрый день.
Помогите пожалуйста разобраться
Задача:
При открытии книги необходимо проверить существование возможности доступа к базе.
Для этого в  Workbook_Open запускается процедура вызывающая форму. Назначение формы только в том, чтобы на время проверки связи сообщить что такая проверка идет.
Форма вызывается командой .SHOW vbModeless
после этого запускается процедура проверки, по завершении которой окно должно закрыться.

Все работает нормально за исключением одного.
ОКНО ВЫСКАКИВАЕТ ПУСТОЕ!!

Как это побороть? Помогите!

Файл приложен
 
А зачем Вы в коде закомментировали строку
Код
.SHOW vbModeless
?
Раскомментируйте и все будет как хотите. Я бы еще рекомендовал заголовок формы убрать для эстетики: Как убрать заголовок у UserForm VBA
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
Раскомментируйте и все будет как хотите.
Увы нет.
Не помогает.
У меня по крайней мере именно так (vba 2010)  ((
К тому же, как вы понимаете окно должно само закрыться по завершению проверки связи
Цитата
Дмитрий(The_Prist) Щербаков написал:
А зачем Вы в коде закомментировали строку .SHOW vbModeless
Эта строка уже встречается в форме в вызове .CreateLoad
Изменено: vitorian - 07.08.2019 16:53:47
 
Цитата
vitorian написал:
Эта строка уже встречается в форме в вызове .CreateLoad
а должна быть ДО этого вызова.
Цитата
vitorian написал:
окно должно само закрыться по завершению проверки связи
так оно закрывается....
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
а должна быть ДО этого вызова.
Так я и говорю, не получается ((
Вот фрагмент экрана после раскомментирования  
 
Да, раз у Вас не отображается как положено, попробуйте записать так:
Код
Sub Zastavka()
    Dim IsRun As Boolean
    Dim ufForm As CheckConnect
    Set ufForm = New CheckConnect

IsInetPresent = True
   With ufForm
        .Show vbModeless
        .Repaint 'перерисовка формы
        DoEvents 'передаем управление системе для завершения всех ожидающих процессов
        IsInetPresent = .CreateLoad(strConn)
    End With
    Debug.Print IsInetPresent
End Sub
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Спасибо Дмитрий!
Вы волшебник !!!
Страницы: 1
Наверх