Как я могу проверить или отменить НЕСКОЛЬКО ожидающих заявки. ontime события в excel VBA?

Я использую событие Application.Ontime, чтобы извлечь поле времени из ячейки и запланировать запуск подпрограммы в это время. Событие My Application.Ontime запускается в событии Workbook_BeforeSave. Таким образом, если пользователь (изменяет желаемое время + сохраняет книгу) несколько раз, создается несколько событий Application.Ontime. Теоретически я мог бы отслеживать каждое событие с помощью уникальной временной переменной .. но есть ли способ проверить / проанализировать / отменить ожидающие события?

Private Sub Workbook_BeforeSave
    SendTime = Sheets("Email").Range("B9")
    Application.OnTime SendTime, "SendEmail"
End Sub

Private Sub Workbook_BeforeClose
    Application.OnTime SendTime, "SendEmail", , False
End Sub

Итак, если я:
и запланируйте запуск подпрограммы в это время. Событие My Application.Ontime запускается в событии Workbook_BeforeSave. Таким образом, если ...

Я использую событие Application.Ontime, чтобы извлечь поле времени из ячейки и запланировать запуск подпрограммы в это время. Событие My Application.Ontime запускается в событии Workbook_BeforeSave. Таким образом, если пользователь (изменяет желаемое время + сохраняет книгу) несколько раз, создается несколько событий Application.Ontime. Теоретически я мог бы отслеживать каждое событие с помощью уникальной временной переменной .. но есть ли способ проверить / проанализировать / отменить ожидающие события?

Private Sub Workbook_BeforeSave
    SendTime = Sheets("Email").Range("B9")
    Application.OnTime SendTime, "SendEmail"
End Sub

Private Sub Workbook_BeforeClose
    Application.OnTime SendTime, "SendEmail", , False
End Sub

Итак, если я:
и запланируйте запуск подпрограммы в это время. Событие My Application.Ontime запускается в событии Workbook_BeforeSave. Таким образом, если ...

Я использую событие Application.Ontime, чтобы извлечь поле времени из ячейки и запланировать запуск подпрограммы в это время. Событие My Application.Ontime запускается в событии Workbook_BeforeSave. Таким образом, если пользователь (изменяет желаемое время + сохраняет книгу) несколько раз, создается несколько событий Application.Ontime. Теоретически я мог бы отслеживать каждое событие с помощью уникальной переменной времени .. но есть ли способ проверить / проанализировать / отменить ожидающие события?

Private Sub Workbook_BeforeSave
    SendTime = Sheets("Email").Range("B9")
    Application.OnTime SendTime, "SendEmail"
End Sub

Private Sub Workbook_BeforeClose
    Application.OnTime SendTime, "SendEmail", , False
End Sub

Итак, если я:
и запланируйте запуск подпрограммы в это время. Событие My Application.Ontime запускается в событии Workbook_BeforeSave. Таким образом, если пользователь (изменяет желаемое время + сохраняет книгу) несколько раз, создается несколько событий Application.Ontime. Теоретически я мог бы отслеживать каждое событие с помощью уникальной переменной времени .. но есть ли способ проверить / проанализировать / отменить ожидающие события?

Private Sub Workbook_BeforeSave
    SendTime = Sheets("Email").Range("B9")
    Application.OnTime SendTime, "SendEmail"
End Sub

Private Sub Workbook_BeforeClose
    Application.OnTime SendTime, "SendEmail", , False
End Sub

Итак, если я:
и запланируйте запуск подпрограммы в это время. Событие My Application.Ontime запускается в событии Workbook_BeforeSave. Таким образом, если пользователь (изменяет желаемое время + сохраняет книгу) несколько раз, создается несколько событий Application.Ontime. Теоретически я мог бы отслеживать каждое событие с помощью уникальной переменной времени .. но есть ли способ проверить / проанализировать / отменить ожидающие события?

Private Sub Workbook_BeforeSave
    SendTime = Sheets("Email").Range("B9")
    Application.OnTime SendTime, "SendEmail"
End Sub

Private Sub Workbook_BeforeClose
    Application.OnTime SendTime, "SendEmail", , False
End Sub

Итак, если я:
измените B9 на 12:01, сохраните книгу
измените B9 на 12:03, сохраните книгу
измените B9 на 12:05, сохраните книгу
измените B9 на 12:07, сохраните книгу
и т.д.

У меня срабатывает несколько событий. Я хочу, чтобы запускалось только ОДНО событие (последнее запланированное)

Как я могу отменить ВСЕ ожидающие события (или хотя бы перечислить их) в событии Workbook_BeforeClose?

8
задан Lance Roberts 10 January 2011 в 16:45
поделиться