Новости:

Интересные и полезные статьи по работе с Excel и VBA
можно найти в разделе ХИТРОСТИ

Главное меню

Ведение журнала сделанных в книге изменений - версия 2

Автор Alex_ST, 04.05.2011, 14:43:17

« назад - далее »

Alex_ST

Лежал у меня "в заначке" подпиленный под свои нужды макрос Дмитрия (The_Prist) Ведение журнала сделанных в книге изменений.
В общем-то работал, но не применялся, т.к. было очень не удобно из-за того, что пользователю нельзя отменять свои действия (и это естественно, т.к.работу макроса отменить весьма затруднительно и далеко не всегда возможно).
А тут меня на форуме "Профессиональные приемы работы в Microsoft Excel" в топике Макрос по регистрации изменений Andrey Lenets навёл на мысль о другой возможности записи журнала изменений: его же Ёксель может САМ вести если файл открыть в общем доступе!
Да, согласен: общий доступ "коцает" многие из полезных фенечек Ёкселя...
НО! При использовании встроенного журнала изменений все допустимые в общем доступе изменения оказывается можно отменять.
В общем, посмотрите, что я наваял на скорую руку.
Только учтите:
1. Изменения фиксируются в журнале только после сохранения книги.
2. Создаваемый лист "Журнал" автоматически удаляется при сохранении файла или при отмене общего доступа.
Поэтому если он ещё будет нужен, то его надо сначала куда-то скопировать (там есть макрос, к которому не прицеплена кнопка), а потом уже сохраняться.
С уважением, Алексей

Alex_ST

Меня тут навели на немного другой путь, ведущий к той же цели: чтобы не дать "шибко грамотному" юзвергу затереть историю своих действий в файле путём снятия и последующего восстановления общего доступа можно просто программно заюзать опцию меню Сервис-Защита-Защитить книгу и дать общий доступ...
Что я и сделал в очередной версии файла.
С уважением, Алексей

Alex_ST

Чуть добавил разных проверок чтобы не возникало ошибок. И скорректировал тексты MsgBox'ов.

На всякий случай уточню:
1. Используется возможность Excel вести журнал изменений в файлах общего доступа. С целью не дать пользователю отключить общий доступ макрос устанавливает пароль на отключение (пароль задаётся в декларациях модуля Const sShPass$ = "qwerty" ).
2. В журнале фиксируются только изменения данных. Изменение форматирования не фиксируется.
3. Запись данных в журнал производится при сохранении файла.
4. Кнопки на листе нужны только для демонстрации способа. В реальном файле они не нужны. Код макросов может быть вынесен в модуль личной книги макросов Personal.xls и запускаться оттуда (именно для этого в коде использовано обращение к ActiveWorkbook, а не к ThisWorkbook).
С уважением, Алексей

Яндекс.Метрика Рейтинг@Mail.ru