Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Таймер с минимальным интервалом 1/64 - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Таймер с минимальным интервалом 1/64 (Макросы/Sub)
Таймер с минимальным интервалом 1/64
tvitaly1 Дата: Пятница, 12.02.2016, 00:19 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003, Excel 2010
Увы для метода onTime минимальный интервал 1 секунда.
Сегодня сделал таймер в VBA с минимальным интервалом 1/64, может кому пригодится.
Интервалы меньше секунды должны быть кратные 2 (1/2, 1/4, 1/8, 1/16, 1/32)

[vba]
Код

Private TimerS As Boolean

'процедура запуска таймера
Public Sub TimerStart()
TimerS = False
MyTimer
End Sub

'процедура остановки таймера
Public Sub TimerStop()
TimerS = True
End Sub

Private Sub MyTimer()

t = 0

Do While Not TimerS

If t = 0 Or t = Timer Then
'
'
'операторы в теле таймера
'
t = Timer + 1 / 64
End If

DoEvents
Loop

End Sub
[/vba]


Сообщение отредактировал tvitaly1 - Пятница, 12.02.2016, 01:33
 
Ответить
СообщениеУвы для метода onTime минимальный интервал 1 секунда.
Сегодня сделал таймер в VBA с минимальным интервалом 1/64, может кому пригодится.
Интервалы меньше секунды должны быть кратные 2 (1/2, 1/4, 1/8, 1/16, 1/32)

[vba]
Код

Private TimerS As Boolean

'процедура запуска таймера
Public Sub TimerStart()
TimerS = False
MyTimer
End Sub

'процедура остановки таймера
Public Sub TimerStop()
TimerS = True
End Sub

Private Sub MyTimer()

t = 0

Do While Not TimerS

If t = 0 Or t = Timer Then
'
'
'операторы в теле таймера
'
t = Timer + 1 / 64
End If

DoEvents
Loop

End Sub
[/vba]

Автор - tvitaly1
Дата добавления - 12.02.2016 в 00:19
_Boroda_ Дата: Пятница, 12.02.2016, 01:05 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 9375
Репутация: 3948 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Вы специально обозвали переменную Timer?
Он уже есть в VBA. Более того, он с дробными секундами.
https://msdn.microsoft.com/ru-ru....5).aspx


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВы специально обозвали переменную Timer?
Он уже есть в VBA. Более того, он с дробными секундами.
https://msdn.microsoft.com/ru-ru....5).aspx

Автор - _Boroda_
Дата добавления - 12.02.2016 в 01:05
tvitaly1 Дата: Пятница, 12.02.2016, 01:09 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003, Excel 2010
Нет у меня никакой переменной Timer, а функцию такую использую. Что-то не работает у меня блок


Сообщение отредактировал tvitaly1 - Пятница, 12.02.2016, 15:00
 
Ответить
СообщениеНет у меня никакой переменной Timer, а функцию такую использую. Что-то не работает у меня блок

Автор - tvitaly1
Дата добавления - 12.02.2016 в 01:09
_Boroda_ Дата: Пятница, 12.02.2016, 01:20 | Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 9375
Репутация: 3948 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Действительно, в Вашем первоначальном оформлении кода макроса тегами для формул довольно сложно было понять, что у Вас написано TimerS , а не Timer$.
Исправлять будете? Я Вам уже давно ответил на ваш вопрос про теги в "Вопросах по работе форума". Что не понятно?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеДействительно, в Вашем первоначальном оформлении кода макроса тегами для формул довольно сложно было понять, что у Вас написано TimerS , а не Timer$.
Исправлять будете? Я Вам уже давно ответил на ваш вопрос про теги в "Вопросах по работе форума". Что не понятно?

Автор - _Boroda_
Дата добавления - 12.02.2016 в 01:20
tvitaly1 Дата: Пятница, 12.02.2016, 01:32 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003, Excel 2010
Уважаемый _Boroda_, выделил, нажал решетку, все как в теме (подставились такие теги [vba][code]), но опять не получилось полностью, что-то я не схватываю в этих тегах. :(

Спасибо, заработало! :)
[moder]Вот так должно быть: [vbа][codе]Ваш код[/codе][/vbа]
Поправляйте свой предыдущий пост![/moder]


Сообщение отредактировал Manyasha - Пятница, 12.02.2016, 10:29
 
Ответить
СообщениеУважаемый _Boroda_, выделил, нажал решетку, все как в теме (подставились такие теги [vba][code]), но опять не получилось полностью, что-то я не схватываю в этих тегах. :(

Спасибо, заработало! :)
[moder]Вот так должно быть: [vbа][codе]Ваш код[/codе][/vbа]
Поправляйте свой предыдущий пост![/moder]

Автор - tvitaly1
Дата добавления - 12.02.2016 в 01:32
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Таймер с минимальным интервалом 1/64 (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!