Друзья, добрый день! помогите написать макрос, который будет сохранять книгу (только ту, в которой находится), например, через час после ее открытия, при этом не задавая вопросов конечному пользователю. на форуме есть похожая тема, но там отдельный макрос нужно прицеплять, а это не желательно, плюс, пробуя как там, у меня сохранялись все открытые книги, что тоже не желательно. в идеале, есть расшаренная книга, где работают несколько пользователей, но иногда они забывают сохранить изменения. так вот, надо, чтобы книга через час сама сохранилась, не задавая никаких вопросов и не показывая сообщение о том, что другие пользователи так же внесли изменения (наблюдения показывают, что если это сообщение активно, другие не могут сохранить книгу). "обновлять изменения" в настройках шары тоже не совсем то, что нужно. заранее спасибо за советы.
Catboyun,В том то и дело, что юзеры забывают сохранять. Инфу вносят и уходят, не сохраняя и не закрывая файл
vikttur, насколько я понял, там описывается процедура вызова другого макроса. а мне желательно сделать так, чтобы был один макрос без создания дополнительных (если такое возможно)
Catboyun,нет же) вечером приходят, сохраняют. Но мне, если честно, надоело как попугаю, им напоминать, чтобы сохранились. Прикрутить бы макрос, чтобы себе жизнь в первую очередь облегчить.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.DisplayAlerts = False
If Not ThisWorkbook.Saved Then ThisWorkbook.save
Application.DisplayAlerts = True
End Sub
Это в Модули
Код
Sub save()
Application.OnTime Now + TimeValue("00:00:10"), "save"
ThisWorkbook.save
End Sub
Работает это как то странно: 1. вроде бы сохраняет 2. через 10 секунд открывается файл обратно после закрытия. =)
может есть способ с помощью макроса сделать так, чтобы через час происходило сохранение книги как от "Ctrl+S"?
вот правда не понимаю проблему? в конечном итоге файл сохранен? если же при закрытии забывают сохранить, то другое дело. мне кажется, что все эти таймеры излишни (не настаиваю конечно)
Catboyun, так оно да, но специфика работы иногда подразумевает, что периодически нужно узнать, что таки они нам наделали в файле этом, но по факту, человека нет за компом, комп заблокирован и все.
сейчас файл сохраняется (тестовый), но после закрытия опять открывается))
UPD: добавил файл с своим творением (только аккуратно, чтобы его закрыть, нужно закрыть полностью оболочку)
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.DisplayAlerts = False
Application.enableevents = False
If Not ThisWorkbook.Saved Then ThisWorkbook.save
Application.DisplayAlerts = True
Application.enableevents = True
End Sub
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori