Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2009, 15:07   #1
zander
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 113
По умолчанию как запустить макрос по расписанию?

Подскажите плз. как сделать так, что бы макрос запускался каждые пол часа... т.е. например 12:30, 13:00, 13:30, 14:00... и т.д. Циклический запуск (пример ниже), постепенно смещает время запуска, а хотелось бы, что бы была строгая привязка к системному времени...

Public Sub StartMonitoring ()
Application.OnTime Now + TimeValue("00:30:00"), "Monitoring"
End Sub

Public Sub Monitoring()
StartMonitoring
New1
New2
New3
New4
New5
End Sub
zander вне форума Ответить с цитированием
Старый 18.11.2009, 16:00   #2
Юнлинг
Форумчанин
 
Регистрация: 17.10.2008
Сообщений: 239
По умолчанию

Цитата:
Сообщение от zander Посмотреть сообщение
Подскажите плз. как сделать так, что бы макрос запускался каждые пол часа... т.е. например 12:30, 13:00, 13:30, 14:00... и т.д. Циклический запуск (пример ниже), постепенно смещает время запуска, а хотелось бы, что бы была строгая привязка к системному времени...

Public Sub StartMonitoring ()
Application.OnTime Now + TimeValue("00:30:00"), "Monitoring"
End Sub

Public Sub Monitoring()
StartMonitoring
New1
New2
New3
New4
New5
End Sub
можно так
Код:
Public Sub StartMonitoring ()
dim pt as string
dim i as long
do while true
...' выход
i=tmtosd(now)
if i/3600-int(i/3600)<0.5 then
  pt=iif(int(i/3600)<10, "0"+str(int(i/3600))+":30:00",str(int(i/3600))+":30:00")
else
  pt=iif(int(i/3600)+1<10, "0"+str(int(i/3600)+1)+":00:00",iif(int(i/3600)+1=24, "00:00:00", str(int(i/3600)+1)+":00:00"))
endif
Application.OnTime TimeValue(pt), "Monitoring"
loop
End Sub

Public Sub Monitoring()
StartMonitoring
New1
New2
New3
New4
New5
End Sub[/QUOTE]

Function tmtosd(dr As Date) As Long
tmtosd = Hour(dr) * 3600 + Minute(dr) * 60 + Second(dr)
End Function
Извените забыл про переход дня

Последний раз редактировалось Юнлинг; 18.11.2009 в 16:16. Причина: Извените забыл про переход дня
Юнлинг вне форума Ответить с цитированием
Старый 18.11.2009, 17:06   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Прошу прощения у VictorM
за плагиат,но его часики очень подходят для таймера
Вложения
Тип файла: rar Таймер.rar (7.2 Кб, 132 просмотров)
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 18.11.2009 в 17:29.
doober вне форума Ответить с цитированием
Старый 19.11.2009, 22:23   #4
zander
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 113
По умолчанию

действительно подходящий таймер, респект! Но можно ли его как то "подкрутить"? В представленном виде этот макрос запускается за 1с. до опредленного в макросе интервала (каждые 30 минут часа), а хотелось бы иметь возможность подогнать время начала работы макроса .... ну скажим 12:30:02, 13:00:02, 13:30:02, 14:00:02 ну и т.д.
zander вне форума Ответить с цитированием
Старый 19.11.2009, 22:50   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

В этом мире все возможно,были бы деньги

If Start Mod 30 = 0 And CInt(sl(2)) = n Then 'Где n -задержка в секундах В моем примере 0
'Запуск Макроса

End If
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите запустить глючащий макрос для WORD 2003 Gamekowal Microsoft Office Word 2 07.01.2010 00:08
Как запустить макрос из ячейки? Maxx Microsoft Office Excel 8 15.04.2009 15:47
Как запустить макрос по изменению значения в ячейке? zander Microsoft Office Excel 4 23.02.2009 10:46
Слепил макрос, как его запустить? zander Microsoft Office Excel 7 12.02.2009 19:51
Как запустить макрос при изменении другой книги Excel? Град Microsoft Office Excel 12 10.06.2008 10:01