'Функции работы с таймером Public Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, _ ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long Public Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long 'Глобальная информация Public Counter As Long 'Счетчик числа вызовов Callback функции Public IdEv As Long Public Sub HowManyProc(ByVal HandleW As Long, ByVal msg As Long, _ ByVal idEvent As Long, ByVal TimeSys As Long) 'Функция обратного вызова. Вызывается при обработке сообщения WM_Timer, 'посылаемого таймером, созданным процедурой SetTimer Counter = Counter + 1 Debug.Print "Hi", Counter End Sub Public Sub Start() 'Создает таймер, вызывая Win32 Api функцию SetTimer Counter = 0 IdEv = SetTimer(0&, 0&, 10000, AddressOf HowManyProc) If IdEv = 0 Then MsgBox ("Не удалось создать таймер!") Else Debug.Print "Создан Таймер: Идентификатор = ", IdEv End If End Sub Public Sub Finish() 'Удаляет таймер If IdEv > 0 Then Call KillTimer(0&, IdEv) Debug.Print "Удален Таймер: Идентификатор = ", IdEv IdEv = 0 End If End Sub