|
|
|
Application.OnTime - завершение цикла.
|
|||
|---|---|---|---|
|
#18+
Друзья, добрый день! Подскажите пожалуйста, если не трудно. Мучаюсь с завершением OnTime, при периодическом сохранении экселевского файла в формате *.xml. Никак не могу понять, почему он не завершается Вот что получается: --- Public tStart As Variant Sub SaveAsXml() ' Workbooks("datalist.xls").Activate Workbooks("datalist.xls").SaveAsXMLData Filename:= _ "T:\1l\20.xml", Map:=ActiveWorkbook.XmlMaps( _ "data_карта") Application.OnTime tStart, "SaveAsXml" Call TimerForSave End Sub Sub TimerForSave() Dim tStart As Variant tStart = Now + TimeSerial(0, 0, 15) Application.OnTime tStart, "SaveAsXml" End Sub Sub StopAutomaticMacro() Application.OnTime EarliestTime:=tStart, Procedure:="SaveAsXml", Schedule:=False End Sub --- При этом если делать выполнять StopAutomaticMacro(), то пишет ошибку Run-time error '1004': Method 'OnTime' of object'_application failed Подскажите пожалуйста, может кто-нибудь знает в чем проблема. Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2009, 17:02:27 |
|
||
|
Application.OnTime - завершение цикла.
|
|||
|---|---|---|---|
|
#18+
Попробуй удалить выделенную строку Код: plaintext 1. 2. 3. 4. KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2009, 18:10:05 |
|
||
|
Application.OnTime - завершение цикла.
|
|||
|---|---|---|---|
|
#18+
И где здесь цикл, простите? А во вторых, зачем ты дважды подряд взводишь таймер? Один раз в SaveAsXml, потом из него вызываешь TimerForSave в котором опять взводишь таймер. В итоге у тебя получается что каждый запуск SaveAsXml заводит два запуска этого макроса, следующий запуск заводит еще два запуска и так до бесконечности... А StopAutomaticMacro пытается удалить только один запуск из расписания. А повторное объявление tStart внутри TimerForSave только добавляет прелести всему этому кошмару. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2009, 18:18:27 |
|
||
|
Application.OnTime - завершение цикла.
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответы. Обязательно попробую вариант предложенный KL (XL). White Owl, стало очень интересно, как же решить задачу, чтобы она не была такой уж кошмарной. (С замечанием, что это кошмар согласен на все 100%) Если найдется время для ответа, буду очень благодарен. С уважением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2009, 23:30:33 |
|
||
|
Application.OnTime - завершение цикла.
|
|||
|---|---|---|---|
|
#18+
Сова прав, я проглядел повтор. Попробуйте удалить обе отмеченные строки Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2009, 00:37:43 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=36060805&tid=2179346]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
290ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 568ms |

| 0 / 0 |
