Заставка для Excel...
Поскажите, пожалуйста, как сделать, чтобы при открытии книги, появлялся рисунок секунды на 3? То есть в принципе для начала делаем форму, вставляем рисунок, а как сделать, чтобы через три секунды она исчезла? Не могу разобраться со счетчиком...
Открываем форму в режиме vbModeless и запускаем таймер. В процедуре обработки сообщений от таймера обнуляем сам таймер и закрываем форму. Вроде все... В каком именно моменте проблемы?
Открываем форму в режиме vbModeless и запускаем таймер. В процедуре обработки сообщений от таймера обнуляем сам таймер и закрываем форму. Вроде все... В каком именно моменте проблемы?
Что такое режим vbModeless я так и непонял, даже в стравке не нашел. А на счет счетчика, может просто командой delay сделать?
Что такое режим vbModeless я так и непонял, даже в стравке не нашел. А на счет счетчика, может просто командой delay сделать?
Да все очень просто, когда ты показываешь свою форму
MyForm.Show
то раньше. в Office97 форма всегда открывалась в режимк modal, то есть фокус становился на форму, никуда перейти не закрыв форму нельзя было и главное - выполнение кода останавливалось на этой строчке, т.е.
MyForm.Show
a=3
пока форма закрыта не будет, макрос не перейдет на строчку a=3
Это удобно для организации диалогов, но абсолютно неприемливо, если хочешь сделать что-то типа твоей задачи, когда нужно показать форму и продолжить выполнение программы дальше и позволять пользователь лазить по всему Excel'ю. Для этого с office2000 добавили в метод Show параметры: vbModal(описано выше) и новый параметр - vbModeless. Последний параметр как раз и дает указание Excel'ю открыть форму и продолжить выполнение макроса дальше, а не застывать на месте.
Да все очень просто, когда ты показываешь свою форму
MyForm.Show
то раньше. в Office97 форма всегда открывалась в режимк modal, то есть фокус становился на форму, никуда перейти не закрыв форму нельзя было и главное - выполнение кода останавливалось на этой строчке, т.е.
MyForm.Show
a=3
пока форма закрыта не будет, макрос не перейдет на строчку a=3
Это удобно для организации диалогов, но абсолютно неприемливо, если хочешь сделать что-то типа твоей задачи, когда нужно показать форму и продолжить выполнение программы дальше и позволять пользователь лазить по всему Excel'ю. Для этого с office2000 добавили в метод Show параметры: vbModal(описано выше) и новый параметр - vbModeless. Последний параметр как раз и дает указание Excel'ю открыть форму и продолжить выполнение макроса дальше, а не застывать на месте.
Всё понятно, modal=false, а я думал, что за vbModeless...
Всё понятно, 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