У меня есть макрос в файле Excel, который непрерывно работает по таймеру в 30 секунд:
Sub autosync()
Call syncSQL 'a sync function that copies data rows to database.
Application.OnTime Now + TimeValue("00:00.30"), "Sheet7.autosync"
End Sub
Однако бывают случаи, когда возникают ошибки, которые останавливают таймер, поэтому я хочу создать кнопку, котораяне только возобновляет работу таймера, но также завершает работу старого таймера и заменяет его новым таймером.Это сделано для того, чтобы избежать одновременной работы нескольких таймеров.
Sub resetsync()
Application.OnTime Now + TimeValue("00:00:30"), "Sheet7.autosync", False '1. Stops the current timer
Call autosync '2. Call back the timer
End Sub
Однако, когда я тестирую кнопку, она игнорирует шаг 1 и переходит прямо к шагу 2, создавая 2 процесса автосинхронизации.Я что-то упустил?