У меня есть таблица Excel, которая сохраняется на сервере, с точки зрения доступа к ней есть только около 20 человек с разрешениями на эту папку, кто бы там ни был, чтобы просмотреть историю изменений за пределами предыдущего Модификатора.
2 ответа
Большинство "серверов" разрешают аудит на уровне файлов, однако это специфично для каждого сервера и специфично для каждой файловой системы. Эти журналы аудита могут содержать информацию, которую вы ищете, но если ведение журнала не было включено, то вы не сможете получить много информации в ретроспективе.
Причина, по которой я указываю "серверы" в кавычках, заключается в том, что для клиентов NTFS, подключающихся к NAS, по сравнению с сервером на базе Windows, доступно различное количество функций. А именно, варианты на основе Linux могут содержать разную степень детализации аудита, чем файловые серверы на основе Windows.
Вы можете добавить немного VBA в файл и настроить его на сохранение. Это пишет на лист под названием "журнал". Добавьте это в модуль ThisWorkbook
. Вам нужно убедиться, что электронная таблица сохранена в формате .xlsm и что у пользователей включены макросы.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim CurrentUser As String
Dim CurrentDttm As Date
CurrentUser = Application.UserName
CurrentDttm = Format(Now, "yyyy/mm/dd hh:mm")
LastRowWithData = Sheets("log").Range("A1").End(xlDown).Row
If LastRowWithData > 65000 Then
LastRowWithData = 1
End If
Sheets("log").Range("A" & LastRowWithData + 1).Value = CurrentDttm
Sheets("log").Range("B" & LastRowWithData + 1).Value = CurrentUser
End Sub