Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Заставка для Excel...

2.6K
12 марта 2004 года
Lev_ru
35 / / 05.03.2004
Поскажите, пожалуйста, как сделать, чтобы при открытии книги, появлялся рисунок секунды на 3? То есть в принципе для начала делаем форму, вставляем рисунок, а как сделать, чтобы через три секунды она исчезла? Не могу разобраться со счетчиком...
258
12 марта 2004 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by Lev_ru
Поскажите, пожалуйста, как сделать, чтобы при открытии книги, появлялся рисунок секунды на 3? То есть в принципе для начала делаем форму, вставляем рисунок, а как сделать, чтобы через три секунды она исчезла? Не могу разобраться со счетчиком...



Открываем форму в режиме vbModeless и запускаем таймер. В процедуре обработки сообщений от таймера обнуляем сам таймер и закрываем форму. Вроде все... В каком именно моменте проблемы?

2.6K
13 марта 2004 года
Lev_ru
35 / / 05.03.2004
Цитата:
Originally posted by SergeySV


Открываем форму в режиме vbModeless и запускаем таймер. В процедуре обработки сообщений от таймера обнуляем сам таймер и закрываем форму. Вроде все... В каком именно моменте проблемы?



Что такое режим vbModeless я так и непонял, даже в стравке не нашел. А на счет счетчика, может просто командой delay сделать?

258
13 марта 2004 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by Lev_ru


Что такое режим vbModeless я так и непонял, даже в стравке не нашел. А на счет счетчика, может просто командой delay сделать?




Да все очень просто, когда ты показываешь свою форму
MyForm.Show
то раньше. в Office97 форма всегда открывалась в режимк modal, то есть фокус становился на форму, никуда перейти не закрыв форму нельзя было и главное - выполнение кода останавливалось на этой строчке, т.е.
MyForm.Show
a=3
пока форма закрыта не будет, макрос не перейдет на строчку a=3

Это удобно для организации диалогов, но абсолютно неприемливо, если хочешь сделать что-то типа твоей задачи, когда нужно показать форму и продолжить выполнение программы дальше и позволять пользователь лазить по всему Excel'ю. Для этого с office2000 добавили в метод Show параметры: vbModal(описано выше) и новый параметр - vbModeless. Последний параметр как раз и дает указание Excel'ю открыть форму и продолжить выполнение макроса дальше, а не застывать на месте.

2.6K
14 марта 2004 года
Lev_ru
35 / / 05.03.2004
Цитата:
Originally posted by SergeySV



Да все очень просто, когда ты показываешь свою форму
MyForm.Show
то раньше. в Office97 форма всегда открывалась в режимк modal, то есть фокус становился на форму, никуда перейти не закрыв форму нельзя было и главное - выполнение кода останавливалось на этой строчке, т.е.
MyForm.Show
a=3
пока форма закрыта не будет, макрос не перейдет на строчку a=3

Это удобно для организации диалогов, но абсолютно неприемливо, если хочешь сделать что-то типа твоей задачи, когда нужно показать форму и продолжить выполнение программы дальше и позволять пользователь лазить по всему Excel'ю. Для этого с office2000 добавили в метод Show параметры: vbModal(описано выше) и новый параметр - vbModeless. Последний параметр как раз и дает указание Excel'ю открыть форму и продолжить выполнение макроса дальше, а не застывать на месте.



Всё понятно, modal=false, а я думал, что за vbModeless...

3.7K
14 марта 2004 года
dedtolya
41 / / 12.10.2003
Цитата:
Originally posted by Lev_ru


Всё понятно, modal=false, а я думал, что за vbModeless...




Dim Рис As Object
Dim p1 As Long, a As Long
p = 5000000 ' длительность паузы

Set Рис = ActiveSheet.Pictures.Insert( _
"C:\Мои документы\Мои рисунки\flover\pussywillow2.gif")
For i = 1 To p
a = a + 1
Next
Рис.Delete

Вместо цикла можно использовать функцию Timer
Успехов dedtolya

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог