Здравствуйте, Петухов константин.
> задача после открытия книги и до закрытия сохранять документ
> каждые 10 секунд
Прежде всего напомню, что в настройках Excel есть автосохранение. Правда
минимальный период там 1 минута и сохранение идёт во временный файл рядом с
основным. Однако возможно это всё же покрывает ваш сценарий.
> Application.OnTime Now() + TimeSerial(0, 0, 5), "myMacro"
Давно ничего не писал на VBA, но как-то резанула по глазам TimeSerial(0,
0,5).
Чисто визуально привычнее мне здесь TimeValue("00:00:10"), но я может просто
всё уже забыл.
> после закрытия книги, она
> автоматически открывается. понятно почему - продолжает выполняться
> рекурсивный макрос, непонятно как исправить.
Ну надо в конце полностью закрыть книгу
ThisWorkbook.Close false/true
false выход без сохранения, true - с сохранением. Кажется так.
> 2. ведет себя не стабильно,
> переодически предлагает перезаписать книгу и макрос валится, пока не
> перезапустишь. что с этой ерундой делать - не знаю.
Мне кажется, проблема в том, что период сохранения оказался слишком
коротким. Подозреваю, что иногда 10 секунд тупо не хватает, а вы уже даёте
команду на следующую итерацию сохранения. Попробуйте увеличить период
ожидания и посмотреть, будет ли это способствовать повышению стабильности
работы макроса.
Успехов. Никита.