| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Excel, текущее время и сигнал |
| Автор: Trinitron 6.9.2006, 08:39 |
| Подскажите, как на листе Excel в определенные моменты времени (например, 9:00, 9:05, 9:12 и т.д.) организовать вывод звукового сигнала? Буду очень признателен за помощь. |
| Автор: ~FoX~ 6.9.2006, 09:14 |
| Кроме таймера ничего в голову не приходит.... Вешйешь таймер, скажем на сикунду, и по таймеру сравниваешь текущее время с тем которое тебе надо, и если оно совпадает или больше выдаешь beep.... Тока ИМХО овчинка выделки не стоит.... |
| Автор: Romikgy 6.9.2006, 09:15 |
| макрос напиши и будет те бикать |
| Автор: ИгнатьевАлексей 6.9.2006, 09:22 |
| Смотри функции Time() - текущее время Beep - звуковой сигнал |
| Автор: Trinitron 6.9.2006, 09:29 |
| Спасибо откликнувшимся. Только мне непонятно, как сделать, что бы эта проверка постоянно выполнялась? Ведь время-то движется. Макрос то можно сделать, а как сделать, что бы он постоянно работал и проверял условие по времени и выдавал сигнал? |
| Автор: mihanik 6.9.2006, 09:39 | ||||
| Ну-с, так вот что. Таймер повесить... На форме VB6 таймер повесить просто. А вот в ехеле... На ум пришло такое. Создаём в книге модуль с макросом с именем auto_open. И заставляем этот макрос работать до тех пор, пока 1 <> 2...
Теперь на страничке вешаем две кнопочки. Одна запускает наш импровизированный таймер, а другая его останавливает...
Код не проверял. Даю только идею... |
| Автор: Trinitron 6.9.2006, 09:49 |
| Огромное спасибо, попробую |
| Автор: mihanik 6.9.2006, 10:01 |
| Trinitron! Надеюсь, ты понимаешь, что макрос auto_open начнёт работать сразу же, как только будет открыта книга ехеля? (Это означает, что возможны некоторые тормоза...) Кроме того т.к. этот макрос работает до тех пор, пока 1<>2, то он работает вечно! Т.е. до тех пор, пока книга не закроется, или пока ты не прервёшь его по какому-нибудь другому условию... А теперь подумай: нужно ли тебе это? |
| Автор: Trinitron 6.9.2006, 10:47 |
Спасибо, это лично мне не нужно, попросили реализовать такое именно на листе Excel |
| Автор: mihanik 6.9.2006, 10:52 |
Извращенцы!!! |
| Автор: Trinitron 6.9.2006, 11:04 |
| Точно |
| Автор: Akina 6.9.2006, 11:41 |
| Можно сделать форму с hidden=true, а на нее таймер. |
| Автор: mihanik 6.9.2006, 11:53 |
| Akina, я сначала тоже так хотел, но покопался и не нашёл таймера в ехеле... Мож плохо искал... Если наёдёшь, подскажи! |
| Автор: Trinitron 6.9.2006, 12:12 |
| Там его я тоже не нашел. Реализовал, как предложил mihanik, только сделал массив времени на листе, когда надо выводить сигнал, всё работает, спасибо огромное mihanik, выручил. |
| Автор: Дмит 7.9.2006, 00:02 |
| Ну ребята вы и извращенцы. При старте: Application.OnTime TimeValue("09:00:00"), "my_Procedure" и в 9:00 выполнится процедура "my_Procedure", в которой конечно же Beep. |
| Автор: mihanik 7.9.2006, 06:38 |
| Дмит! Ты где раньше был? Классный способ!!! Надо будет запомнить!!! |
| Автор: Trinitron 8.9.2006, 13:29 |
| Да уж, а если таких моментов несколько, т.е., например, надо подать сигнал в 9:00, потом в 9:13 и т.д.? |
| Автор: mihanik 10.9.2006, 08:37 |
| Trinitron, а кто тебе мешает подать эту команду несколько раз? Время прошло - переназначай время события... |