saper
|
|
1 | |
Метод UserForm.Show при повторном выполнении .Show03.08.2008, 14:38. Показов 7488. Ответов 6
Метки нет (Все метки)
При первом выполнении этого метода поисходит событие Activate_UserForm
Как сделать, чтобы при повторном выполнении .Show (без закрытия книги)происходило то же событие? |
03.08.2008, 14:38 | |
Ответы с готовыми решениями:
6
UserForm.Show - ошибка 5825 - объект был удалён Метод Show приостанавливает выполнение макроса активировать документ шаблона при userform1.show (vbmodeless) Игнорирование автозапуска form.show при открытии excel файла |
Victory
|
|
03.08.2008, 20:57 | 2 |
А ты попробуй вызови ее как обычную процедурку или есть какие то более сложные завяски?
|
Tim
|
|
04.08.2008, 06:26 | 3 |
А UserForm_Initialize() не подходит?
|
saper
|
|
04.08.2008, 12:49 | 4 |
Я кажется понял. Дело в том, что если книга, в которой находится форма, скрыта, то и Userform_Activate() и UserForm_initialize() выполняются только при первом UserForm.Show. Мне кажется в этом случае лучше UserForm_Activate() обозвать как-нибудь по другому и вызывать ее при каждом запуске из стартового модуля например UserForm1.zzz()
|
1 / 1 / 0
Регистрация: 01.07.2008
Сообщений: 42
|
|
05.08.2008, 17:43 | 5 |
Все гораздо проще, когда форма тебе не нужна, пишешь в коде закрытия строку Unload Me - это если событие на закрытие вызывается с самой формы (например при нажатии на форме кнопки 'Закрой меня'), или Unload имя_твоей_формы - если событие на закрытие вызывается не формой (например из пункта меню). Данная команда удаляет форму из памяти, и соответственно при ее последующем вызове форма запускается в том, первоначальном виде, в котором ты ее сохранил в VBA проекте, другими словами, как ты правильно сказал, происходит инициализация формы. Если же ты поступишь как написал, т.е. создашь макрос инициализации, то через некоторое время будешь иметь проблемы с памятью, так как форма пропишется в памяти столько раз, сколько ты ее будешь инициализировать
0
|
Tim
|
|
06.08.2008, 11:38 | 6 |
Да IMHO DisCo прав.
Saper, почитай про методы формы Show Hide Load UnLoad Initialize Activate |
saper
|
|
06.08.2008, 12:10 | 7 |
Премного благодарен
|
06.08.2008, 12:10 | |
06.08.2008, 12:10 | |
Помогаю со студенческими работами здесь
7
Не пересчитывается книга при повторном выполнении программы если в коде ниже ob->show(); -> возвращает указатель "p" в "ob"? то почему для доступа к show не пишут так ob->->show(); При выполнении Show() создается новая форма Get data from the server (show loading indicator) and after show this data on the page. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |