Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Узнать под чьей учеткой вненены изменения в файл - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Узнать под чьей учеткой вненены изменения в файл
NeWru Дата: Среда, 29.10.2025, 17:55 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 64
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Возникла необходимость вычислять рукожопов, которые входят под своей учеткой и вносят изменения в файл. Я не админ, файл мой (таблицы, формулы и тп), пользователей около 20чел. Было бы удобно иметь сведения, которые отображаются на любом листе в этом файле после любого сохранения. Интересна именно учетная запись, можно дату и время. Про учет внесения изменений (журнал на отдельном листе) читал, одно из необходимых условий в журнале не увидел, а именно изменение цвета шрифта. Значения в файле 4 цветов шрифта


Сообщение отредактировал NeWru - Среда, 29.10.2025, 19:16
 
Ответить
СообщениеВозникла необходимость вычислять рукожопов, которые входят под своей учеткой и вносят изменения в файл. Я не админ, файл мой (таблицы, формулы и тп), пользователей около 20чел. Было бы удобно иметь сведения, которые отображаются на любом листе в этом файле после любого сохранения. Интересна именно учетная запись, можно дату и время. Про учет внесения изменений (журнал на отдельном листе) читал, одно из необходимых условий в журнале не увидел, а именно изменение цвета шрифта. Значения в файле 4 цветов шрифта

Автор - NeWru
Дата добавления - 29.10.2025 в 17:55
cmivadwot Дата: Среда, 29.10.2025, 23:09 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 611
Репутация: 126 ±
Замечаний: 0% ±

365
NeWru, Вариант.. но как то корявенько работает.
К сообщению приложен файл: slezhka_polzovateli.xlsm (61.9 Kb)
 
Ответить
СообщениеNeWru, Вариант.. но как то корявенько работает.

Автор - cmivadwot
Дата добавления - 29.10.2025 в 23:09
Nic70y Дата: Четверг, 30.10.2025, 08:54 | Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 9186
Репутация: 2448 ±
Замечаний: 0% ±

Excel 2010
NeWru, возможно Вам подойдет
[vba]
Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    With Sheets("u")
        aa = .Cells(1, Columns.Count).End(xlToLeft).Column + 1
        .Cells(1, aa) = Application.UserName
        .Cells(2, aa) = Now
        Sheets(1).Range("a1:a1000").Copy
        With .Cells(3, aa)
            .PasteSpecial Paste:=xlPasteAllUsingSourceTheme
            .PasteSpecial Paste:=xlPasteValues
        End With
    End With
    Application.CutCopyMode = False
End Sub
[/vba]но это не точно)

сохраняйте файл, см. лист u
К сообщению приложен файл: kniga1.xlsm (15.4 Kb)


ЮMoney 41001841029809
 
Ответить
СообщениеNeWru, возможно Вам подойдет
[vba]
Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    With Sheets("u")
        aa = .Cells(1, Columns.Count).End(xlToLeft).Column + 1
        .Cells(1, aa) = Application.UserName
        .Cells(2, aa) = Now
        Sheets(1).Range("a1:a1000").Copy
        With .Cells(3, aa)
            .PasteSpecial Paste:=xlPasteAllUsingSourceTheme
            .PasteSpecial Paste:=xlPasteValues
        End With
    End With
    Application.CutCopyMode = False
End Sub
[/vba]но это не точно)

сохраняйте файл, см. лист u

Автор - Nic70y
Дата добавления - 30.10.2025 в 08:54
Alex_ST Дата: Четверг, 30.10.2025, 09:57 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3226
Репутация: 625 ±
Замечаний: 0% ±

2003
ИМХО, лучше использовать не имя пользователя Офиса Application.UserName, т.к. его при установке часто ставят от балды и вполне может повторяться в рамках одной сетки, а имя компьютера в сети CreateObject("Wscript.Network").UserName, т.к. оно уникально.
Давно у меня валяется в копилке файлик выводящий в окно Debug оба этих имени.
[vba]
Код
Private Sub Net_UserName()
Debug.Print CreateObject("Wscript.Network").UserName
Debug.Print Application.UserName
End Sub
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеИМХО, лучше использовать не имя пользователя Офиса Application.UserName, т.к. его при установке часто ставят от балды и вполне может повторяться в рамках одной сетки, а имя компьютера в сети CreateObject("Wscript.Network").UserName, т.к. оно уникально.
Давно у меня валяется в копилке файлик выводящий в окно Debug оба этих имени.
[vba]
Код
Private Sub Net_UserName()
Debug.Print CreateObject("Wscript.Network").UserName
Debug.Print Application.UserName
End Sub
[/vba]

Автор - Alex_ST
Дата добавления - 30.10.2025 в 09:57
Alex_ST Дата: Четверг, 30.10.2025, 16:16 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3226
Репутация: 625 ±
Замечаний: 0% ±

2003
Правда все эти попытки выловить рукожопа обламываются если у него отключено исполнение макросов.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеПравда все эти попытки выловить рукожопа обламываются если у него отключено исполнение макросов.

Автор - Alex_ST
Дата добавления - 30.10.2025 в 16:16
cmivadwot Дата: Четверг, 30.10.2025, 23:51 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 611
Репутация: 126 ±
Замечаний: 0% ±

365
NeWru, вариант с примечаниями. С названиями цветов только непонятки.
К сообщению приложен файл: primechanija_pri_izmenenii.xlsm (37.7 Kb)
 
Ответить
СообщениеNeWru, вариант с примечаниями. С названиями цветов только непонятки.

Автор - cmivadwot
Дата добавления - 30.10.2025 в 23:51
Alex_ST Дата: Суббота, 01.11.2025, 11:02 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3226
Репутация: 625 ±
Замечаний: 0% ±

2003
Покопался у себя в копилочке.
Нашёл, что в 2009 г. The_Prist дал идею, а я в 2011 немного полирнул макрос.
Пробуйте.
Вносите/редактируете данные на листах, а на обычно скрытом листе LOG всё фиксируется.
К сообщению приложен файл: log_fajl_izmenenij.xlsm (23.3 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеПокопался у себя в копилочке.
Нашёл, что в 2009 г. The_Prist дал идею, а я в 2011 немного полирнул макрос.
Пробуйте.
Вносите/редактируете данные на листах, а на обычно скрытом листе LOG всё фиксируется.

Автор - Alex_ST
Дата добавления - 01.11.2025 в 11:02
elovkov Дата: Суббота, 01.11.2025, 11:59 | Сообщение № 8
Группа: Друзья
Ранг: Ветеран
Сообщений: 524
Репутация: 84 ±
Замечаний: 0% ±

Excel 2013
Красиво, возьму к себе в коллекцию тоже, если не против


Умное лицо это еще не признак ума. Все глупости на земле делаются именно с этим выражением лица
 
Ответить
СообщениеКрасиво, возьму к себе в коллекцию тоже, если не против

Автор - elovkov
Дата добавления - 01.11.2025 в 11:59
Alex_ST Дата: Суббота, 01.11.2025, 12:13 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3226
Репутация: 625 ±
Замечаний: 0% ±

2003
Не вопрос. Тащите. Я никогда свои программы не паролю. Пользуйтесь, мне не жалко.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеНе вопрос. Тащите. Я никогда свои программы не паролю. Пользуйтесь, мне не жалко.

Автор - Alex_ST
Дата добавления - 01.11.2025 в 12:13
Alex_ST Дата: Суббота, 01.11.2025, 13:12 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3226
Репутация: 625 ±
Замечаний: 0% ±

2003
К стати, там же в "закромах" нашёл ещё один очень интересный вариант логгирования действий юзеров в Excel.
По идее должен работать даже при отключенных у юзера макросах.
Основан на том, что в режиме общего доступа Excel сам ведёт логгирование сохраняемых изменений на скрытом листе "Журнал" (именно поэтому имя "Журнал" зарезервировано системой и не может быть присвоено листу).
Скрытый лист логгирования "Журнал" автоматически создаётся при включении режима общего доступа к файлу (и, естественно, его пересохранении).
В режиме общего доступа доступ к проекту VBA напрещён и сделать лист Visible невозможно. Но макросом вполне можно его скопировать в новую книгу, например, и сделать видимым.
При отключении режима общего доступа (и, соответственно, пересохранении файла) скрытый лист "Журнал" автоматически уничтожается.
Логгирование сохраняемых изменений на листе "Журнал" в файлах общего доступа, к стати, является одной из основных причин их постепенного "ожирения" до огромных размеров. А самым действенным "фитнесом" для распухших файлов общего доступа является как раз временное отключение и последующее включение режима общего доступа. При этом файл два раза пересохраняется и разросшийся со временем лист "Журнал" сначала автоматически удаляется, а потом создаётся вновь уже пустым.
Но хватит теории. Вот в аттаче практика - файл-образец.
На всякий случай уточню:
1. Используется возможность Excel вести журнал изменений в файлах общего доступа. С целью не дать пользователю отключить общий доступ макрос устанавливает пароль на отключение (пароль задаётся в декларациях модуля Const sShPass$ = "qwerty" в модуле LOG_Module).
2. В журнале фиксируются только изменения данных. Изменение форматирования не фиксируется.
3. Запись данных в журнал производится при сохранении файла.
4. На листе АДМИН расположены все необходимые кнопки управления. Кнопки на листе книги нужны только для демонстрации способа. В реальном рабочем файле они не нужны. Код макросов может быть вынесен в модуль личной книги макросов Personal.xlsm и запускаться оттуда (именно для этого в коде использовано обращение к ActiveWorkbook, а не к ThisWorkbook).
P.S. Всё это где-то здесь на форуме или на Планете уже обсуждалось году, наверное, в 2011, но сейчас не могу найти, чтобы дать ссылку на топик
К сообщению приложен файл: history_log.xlsm (35.4 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Суббота, 01.11.2025, 13:15
 
Ответить
СообщениеК стати, там же в "закромах" нашёл ещё один очень интересный вариант логгирования действий юзеров в Excel.
По идее должен работать даже при отключенных у юзера макросах.
Основан на том, что в режиме общего доступа Excel сам ведёт логгирование сохраняемых изменений на скрытом листе "Журнал" (именно поэтому имя "Журнал" зарезервировано системой и не может быть присвоено листу).
Скрытый лист логгирования "Журнал" автоматически создаётся при включении режима общего доступа к файлу (и, естественно, его пересохранении).
В режиме общего доступа доступ к проекту VBA напрещён и сделать лист Visible невозможно. Но макросом вполне можно его скопировать в новую книгу, например, и сделать видимым.
При отключении режима общего доступа (и, соответственно, пересохранении файла) скрытый лист "Журнал" автоматически уничтожается.
Логгирование сохраняемых изменений на листе "Журнал" в файлах общего доступа, к стати, является одной из основных причин их постепенного "ожирения" до огромных размеров. А самым действенным "фитнесом" для распухших файлов общего доступа является как раз временное отключение и последующее включение режима общего доступа. При этом файл два раза пересохраняется и разросшийся со временем лист "Журнал" сначала автоматически удаляется, а потом создаётся вновь уже пустым.
Но хватит теории. Вот в аттаче практика - файл-образец.
На всякий случай уточню:
1. Используется возможность Excel вести журнал изменений в файлах общего доступа. С целью не дать пользователю отключить общий доступ макрос устанавливает пароль на отключение (пароль задаётся в декларациях модуля Const sShPass$ = "qwerty" в модуле LOG_Module).
2. В журнале фиксируются только изменения данных. Изменение форматирования не фиксируется.
3. Запись данных в журнал производится при сохранении файла.
4. На листе АДМИН расположены все необходимые кнопки управления. Кнопки на листе книги нужны только для демонстрации способа. В реальном рабочем файле они не нужны. Код макросов может быть вынесен в модуль личной книги макросов Personal.xlsm и запускаться оттуда (именно для этого в коде использовано обращение к ActiveWorkbook, а не к ThisWorkbook).
P.S. Всё это где-то здесь на форуме или на Планете уже обсуждалось году, наверное, в 2011, но сейчас не могу найти, чтобы дать ссылку на топик

Автор - Alex_ST
Дата добавления - 01.11.2025 в 13:12
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!