Есть файл с общим доступом. Файл находится на общем сетевом жёстком диске. С этим файлом постоянно работают много человек. 1. Необходимо выяснить, открыт ли у в настоящее время у кого-нибудь из сотрудников данный файл. 2. Желательно выяснить, у кого именно открыт.
В случае, если файл не с общим доступом, то всё просто - он выводит табличку, что файл открыт конкретным пользователем. А вот если включён общий доступ - то ничего не сообщает. Более того, файл спокойно поддаётся переименованию, а также перемещению в другую папку, и сообщение о том, что файл занят каким-то процессом - не выводится. Через журнал изменений можно лишь выяснить, кем и когда файл был открыт (если при этом пользователь сохранял файл) и кем и когда было сделано последнее изменение. При этом кем сейчас он используется - не ясно.
Нужно это знать для того, чтобы внести изменения, которые невозможны при включённом общем доступе, и вот для этого нужно его отключить, но лишь в тот момент, когда файл никем не используется (ибо пользователи не смогут сохранить их изменения, если им отрубить общий доступ).
P.s. Доступа к администрированию сетевого ресурса (управление компьютером) нет.
Есть файл с общим доступом. Файл находится на общем сетевом жёстком диске. С этим файлом постоянно работают много человек. 1. Необходимо выяснить, открыт ли у в настоящее время у кого-нибудь из сотрудников данный файл. 2. Желательно выяснить, у кого именно открыт.
В случае, если файл не с общим доступом, то всё просто - он выводит табличку, что файл открыт конкретным пользователем. А вот если включён общий доступ - то ничего не сообщает. Более того, файл спокойно поддаётся переименованию, а также перемещению в другую папку, и сообщение о том, что файл занят каким-то процессом - не выводится. Через журнал изменений можно лишь выяснить, кем и когда файл был открыт (если при этом пользователь сохранял файл) и кем и когда было сделано последнее изменение. При этом кем сейчас он используется - не ясно.
Нужно это знать для того, чтобы внести изменения, которые невозможны при включённом общем доступе, и вот для этого нужно его отключить, но лишь в тот момент, когда файл никем не используется (ибо пользователи не смогут сохранить их изменения, если им отрубить общий доступ).
P.s. Доступа к администрированию сетевого ресурса (управление компьютером) нет.Aleksio
Сообщение отредактировал Aleksio - Вторник, 26.07.2016, 23:25
Вкладка "Рецензирование" - Доступ к книге - вкладка "Правка" - в области "Файл открыт следующими пользователями" список пользователей, которые открыли общий файл. PS. В списке пользователей отображаются только те пользователи, у которых файл открыт в режиме чтения и записи. Если у пользователя ограничены права и он может открыть только в режиме чтения, то такой пользователь не отображается в этом списке.
Вкладка "Рецензирование" - Доступ к книге - вкладка "Правка" - в области "Файл открыт следующими пользователями" список пользователей, которые открыли общий файл. PS. В списке пользователей отображаются только те пользователи, у которых файл открыт в режиме чтения и записи. Если у пользователя ограничены права и он может открыть только в режиме чтения, то такой пользователь не отображается в этом списке.Karataev
Sub CheckUserStatus() Dim users, msg$, i% users = ThisWorkbook .UserStatus For i = 1 To UBound(users, 1) msg = msg & vbCrLf & users(i, 1) If users(i, 3) = 1 Then msg = msg & " - Exclusive" Else msg = msg & " - Shared" End If Next MsgBox msg End Sub
[/vba]
вариант макросом: [vba]
Код
Sub CheckUserStatus() Dim users, msg$, i% users = ThisWorkbook .UserStatus For i = 1 To UBound(users, 1) msg = msg & vbCrLf & users(i, 1) If users(i, 3) = 1 Then msg = msg & " - Exclusive" Else msg = msg & " - Shared" End If Next MsgBox msg End Sub
Вкладка "Рецензирование" - Доступ к книге - вкладка "Правка" - в области "Файл открыт следующими пользователями" список пользователей, которые открыли общий файл. PS. В списке пользователей отображаются только те пользователи, у которых файл открыт в режиме чтения и записи. Если у пользователя ограничены права и он может открыть только в режиме чтения, то такой пользователь не отображается в этом списке.
Я в курсе, про это я и говорил. Да, там написано, что "Файл открыт следующими пользователями", но на деле это не так. Файл уже давно закрыт и сохранён пользователем, а в списке он остаётся. Там просто фиксируется когда данный пользователь входил в последний раз. И наоборот, пользователь в файл вошёл, редактирует, но ещё его не сохранял - в списке пользователя нет.
А за макрос спасибо, на днях испытаю чисто из интереса, но в данном моём случае вариант с макросом не подходит, ибо файл и так очень большой, периодически случаются конфликты с одновременным сохранением/входом + подвисает при вычислении. Макрос ещё больше его нагрузит. Да и остальным пользователям эта табличка являться не должна, только мне. Разве что как-то сослаться из другого файла с использованием макроса на необходимый файл... но как?
Вкладка "Рецензирование" - Доступ к книге - вкладка "Правка" - в области "Файл открыт следующими пользователями" список пользователей, которые открыли общий файл. PS. В списке пользователей отображаются только те пользователи, у которых файл открыт в режиме чтения и записи. Если у пользователя ограничены права и он может открыть только в режиме чтения, то такой пользователь не отображается в этом списке.
Я в курсе, про это я и говорил. Да, там написано, что "Файл открыт следующими пользователями", но на деле это не так. Файл уже давно закрыт и сохранён пользователем, а в списке он остаётся. Там просто фиксируется когда данный пользователь входил в последний раз. И наоборот, пользователь в файл вошёл, редактирует, но ещё его не сохранял - в списке пользователя нет.
А за макрос спасибо, на днях испытаю чисто из интереса, но в данном моём случае вариант с макросом не подходит, ибо файл и так очень большой, периодически случаются конфликты с одновременным сохранением/входом + подвисает при вычислении. Макрос ещё больше его нагрузит. Да и остальным пользователям эта табличка являться не должна, только мне. Разве что как-то сослаться из другого файла с использованием макроса на необходимый файл... но как?Aleksio
В первом посте нет ни слова про область "Файл открыт следующими пользователями". Может Вы где-то в другом месте смотрите, а не там, где я написал в посте 2.
Да, там написано, что "Файл открыт следующими пользователями", но на деле это не так. Файл уже давно закрыт и сохранён пользователем, а в списке он остаётся. Там просто фиксируется когда данный пользователь входил в последний раз. И наоборот, пользователь в файл вошёл, редактирует, но ещё его не сохранял - в списке пользователя нет.
У меня другое поведение общего доступа: пользователь открыл файл - пользователь появился в области "Файл открыт следующими пользователями". Пользователь закрыл файл - пользователь удалился из этой области. Почему-то у нас с Вами разное поведение с общим доступом. Я тестировал в "Excel 2016".
В первом посте нет ни слова про область "Файл открыт следующими пользователями". Может Вы где-то в другом месте смотрите, а не там, где я написал в посте 2.
Да, там написано, что "Файл открыт следующими пользователями", но на деле это не так. Файл уже давно закрыт и сохранён пользователем, а в списке он остаётся. Там просто фиксируется когда данный пользователь входил в последний раз. И наоборот, пользователь в файл вошёл, редактирует, но ещё его не сохранял - в списке пользователя нет.
У меня другое поведение общего доступа: пользователь открыл файл - пользователь появился в области "Файл открыт следующими пользователями". Пользователь закрыл файл - пользователь удалился из этой области. Почему-то у нас с Вами разное поведение с общим доступом. Я тестировал в "Excel 2016".Karataev
Сообщение отредактировал Karataev - Четверг, 28.07.2016, 09:50
Файл уже давно закрыт и сохранён пользователем, а в списке он остаётся
А иногда еще пользователи и дублируются, т.е. в списке пользователей один человек записан 2 и более раз. Не знаю с чем это может быть связано
Другой вопрос в том, что общий файл не надо никуда перемещать, переименовывать и т.д., на то он и общий.
Мне снимать общий доступ требуется очень редко, в основном тогда, когда я хочу обновить/добавить какой-нибудь макрос. На этот случай, я веду логи: записываю в текстовый файлик кто и когда открыл/сохранил/закрыл файл.
Aleksio, макрос вернет такой же результат, как и при просмотре списка пользователей вручную.
Файл уже давно закрыт и сохранён пользователем, а в списке он остаётся
А иногда еще пользователи и дублируются, т.е. в списке пользователей один человек записан 2 и более раз. Не знаю с чем это может быть связано
Другой вопрос в том, что общий файл не надо никуда перемещать, переименовывать и т.д., на то он и общий.
Мне снимать общий доступ требуется очень редко, в основном тогда, когда я хочу обновить/добавить какой-нибудь макрос. На этот случай, я веду логи: записываю в текстовый файлик кто и когда открыл/сохранил/закрыл файл.
Aleksio, макрос вернет такой же результат, как и при просмотре списка пользователей вручную.Manyasha
Manyasha, но до конца все равно не понятна ситуация, т.к. в посте 1 автор не упоминает про "Файл открыт следующими пользователями", а пишет про "журнал изменений". Я пока не смотрел, что это за журнал.
Manyasha, но до конца все равно не понятна ситуация, т.к. в посте 1 автор не упоминает про "Файл открыт следующими пользователями", а пишет про "журнал изменений". Я пока не смотрел, что это за журнал.Karataev
Испытал макрос. Работает. Показывает, что такой-то пользователь работает в файле. А вот в "Файл открыт следующими пользователями" при этом пользователь не отображается. Excel 2007. Правда испытал лишь с несколькими пользователями, но пока работает. Спасибо.
А возможно ли создать макрос в новом файле, чтобы он ссылался на интересуемый файл с общим доступом, и проверял, кто сейчас находится в том файле? (чтобы макрос не встраивать в файл с общим доступом)
Испытал макрос. Работает. Показывает, что такой-то пользователь работает в файле. А вот в "Файл открыт следующими пользователями" при этом пользователь не отображается. Excel 2007. Правда испытал лишь с несколькими пользователями, но пока работает. Спасибо.
А возможно ли создать макрос в новом файле, чтобы он ссылался на интересуемый файл с общим доступом, и проверял, кто сейчас находится в том файле? (чтобы макрос не встраивать в файл с общим доступом)Aleksio
Насколько я понимаю, свойство "UserStatus" - это "Файл открыт следующими пользователями". Даже информация возвращается та же, что и в "Файл открыт следующими пользователями". Но видимо в данном случае VBA и Excel работают по-разному.
Насколько я понимаю, свойство "UserStatus" - это "Файл открыт следующими пользователями". Даже информация возвращается та же, что и в "Файл открыт следующими пользователями". Но видимо в данном случае VBA и Excel работают по-разному.Karataev