Excel. Отслеживание версий изменения книги

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Avsha
Сообщения: 664
Зарегистрирован: 08 сен 2005, 13:47
Откуда: KZ

03 май 2007, 15:35

Есть ли возможность отслеживать версии изменения книги Excel пользователями? :cool:

- Например, я поредактировал книгу, сохранил - книга Excel запомнила,
что это номер версии - 34.

- Затем другие пользователи поредактировали файл пару раз и сохранили.

- Затем я открываю его и вижу, что номер версии изменений файла - уже 36 и в идеале показывается история изменений (кем и когда были сохранены эти 35 и 36 редакции файла)

Есть ли такой механизм в Excel?
Аватара пользователя
Aent
Сообщения: 1108
Зарегистрирован: 01 окт 2006, 14:52
Откуда: Saratov,Russia
Контактная информация:

03 май 2007, 16:06

Возможно что то получиться с SharePoint сервером. Впрочем неуверен.
Pavel55
Сообщения: 405
Зарегистрирован: 20 окт 2006, 11:40
Откуда: Moscow

03 май 2007, 19:21

если только создать отдельный лист, куда будет записываться номер сохранния (+1), имя пользователя и время )
Аватара пользователя
Aent
Сообщения: 1108
Зарегистрирован: 01 окт 2006, 14:52
Откуда: Saratov,Russia
Контактная информация:

03 май 2007, 23:13

можно в обработчике события закрытия книги сохранять копию в некий
каталог, прописывая в проперти имя пользователя, дату и время. но пухнуть всё будет ... :(
Avsha
Сообщения: 664
Зарегистрирован: 08 сен 2005, 13:47
Откуда: KZ

04 май 2007, 05:49

спасибо,
но похоже встроенного механизма нет :(

тогда вопрос попроще...
могу ли я сделать такую защелку в книге,
чтобы затем при очередном открытии я увидел, что кто-то этот файл уже трогал,
изменял определенный лист и (или) сохранял всю книгу после меня?

только без макросов Vba в самой книге.
Аватара пользователя
Aent
Сообщения: 1108
Зарегистрирован: 01 окт 2006, 14:52
Откуда: Saratov,Russia
Контактная информация:

04 май 2007, 17:00

Avsha, когда пересохраняется файл в NTFS меняется дата его модификации (если эта опция у Вас не отключена). Увидеть эту дату можно в свойствах файла.
Для FAT32 придётся использовать програмы типа spider (c http://www.drweb.ru)
Аватара пользователя
Naeel Maqsudov
Сообщения: 2551
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

06 май 2007, 00:54

Встроенных механизмов в Office для этого не существует. (Разьве что в Word, к иснструментам такого рода с большой натяжкой можно отнести запись исправлений).
Т.е. без VBA задача ненешаема, а с VBA решаема только частично.

Для кардинального решения проблемы (особенно при сравнительно большом документообороте) сущесствует специализированный софт. Например, у 1С есть инструмент, для централизованного управления документами.
Avsha
Сообщения: 664
Зарегистрирован: 08 сен 2005, 13:47
Откуда: KZ

06 май 2007, 21:20

Спасибо за неутешительные сведения,
конечно про свойства книги "Сохранен" и "Дата последнего сохранения" я в курсе.

Причем, как раз свойство "Сохранен" подскажет об имени последнего пользователя, вносившего изменения в файл.
И если ваше имя там перебито другим, то это один из признаков чужого редактирования.

Можно еще внешним макросом устанавливать для книги
дополнительную метку "своего" последнего редактирования.

Код: Выделить всё

Dim df As String
    df = Str(Now) + " User"
    ActiveWorkbook.BuiltinDocumentProperties.Item(5).Value = df
End Sub
eriklund
Сообщения: 0
Зарегистрирован: 12 апр 2016, 18:06

12 апр 2016, 18:36

Прошло десят лет :confused: но в Excel встроенного механизма создания версий по-прежнему нет.

Попробуйте https://xltools.net/excel-version-control/ На мой взгляд, надстройка органична в Excel, как будто всегда там была :) Сохраняешь версию > она регистрируется в журнале > смотришь кто, когда, какие изменения вносил > при необходимости, можно восстановить любую раннюю версию.

Еще есть немалого готовых решений для контроля и сравнения версий для Excel. В сети много открытых VBA кодов макроса, правда, это сложно для большинства пользователей. Есть большие (и само собой дорогие) системы, но они зачастую хранят историю версий в облаке. Так что XLTools - оптимальное решение, в т.ч. для разработчиков, сохраняет версии не только листов, но и VBA проектов https://xltools.net/version-control-for-vba-macros/
Ответить