как узнать кто открывал файл excel
Как узнать кто открывал файл excel
Есть файл с общим доступом. Файл находится на общем сетевом жёстком диске. С этим файлом постоянно работают много человек.
1. Необходимо выяснить, открыт ли у в настоящее время у кого-нибудь из сотрудников данный файл.
2. Желательно выяснить, у кого именно открыт.
Нужно это знать для того, чтобы внести изменения, которые невозможны при включённом общем доступе, и вот для этого нужно его отключить, но лишь в тот момент, когда файл никем не используется (ибо пользователи не смогут сохранить их изменения, если им отрубить общий доступ).
P.s. Доступа к администрированию сетевого ресурса (управление компьютером) нет.
Есть файл с общим доступом. Файл находится на общем сетевом жёстком диске. С этим файлом постоянно работают много человек.
1. Необходимо выяснить, открыт ли у в настоящее время у кого-нибудь из сотрудников данный файл.
2. Желательно выяснить, у кого именно открыт.
Нужно это знать для того, чтобы внести изменения, которые невозможны при включённом общем доступе, и вот для этого нужно его отключить, но лишь в тот момент, когда файл никем не используется (ибо пользователи не смогут сохранить их изменения, если им отрубить общий доступ).
P.s. Доступа к администрированию сетевого ресурса (управление компьютером) нет. Aleksio
Сообщение Есть файл с общим доступом. Файл находится на общем сетевом жёстком диске. С этим файлом постоянно работают много человек.
1. Необходимо выяснить, открыт ли у в настоящее время у кого-нибудь из сотрудников данный файл.
2. Желательно выяснить, у кого именно открыт.
Нужно это знать для того, чтобы внести изменения, которые невозможны при включённом общем доступе, и вот для этого нужно его отключить, но лишь в тот момент, когда файл никем не используется (ибо пользователи не смогут сохранить их изменения, если им отрубить общий доступ).
Как узнать кто открывал файл excel
Вопрос
в VBScript пытаюсь создать подключение к excel файлу. но эта книга лежит на сервере, иногда эта книга бывает занята другим пользователем. как я могу получить имя пользователя кто занял данную таблицу? уведомление во вложении. Имя пользователя как зарегистрирован в office
я могу читать данные о пользователях через aplication.userstatus. но для этого она должна быть открыта для редактирования нескольким пользователям. Как можно узнать кем занята книга для редактирования
Все ответы
во вложении изображении скриншоты что я хочу видеть
По данным вами ссылкам, результат един:
Да, я Жук, три пары лапок и фасеточные глаза :))
во вложении изображении скриншоты что я хочу видеть
The opinion expressed by me is not an official position of Microsoft
что будет если открыть файл и посмотреть пользователей которые открыли файл? я прочел что вы можете получить список пользюков, но только после того как откроете, а открыть вы не можете потому что файл занят, и именно на последнее я вам и дал предположительный ответ
и еще тут описан воркераунд по вашей теме. и еще одно похожее обсуждение
The opinion expressed by me is not an official position of Microsoft
$ и там можно как то узнать кто открыл файл для редактирования.Если верно, то подскажите где в этом файле я могу узнать имя пользователя
На вкладке Правка в списке Файл открыт следующими пользователями просмотрите имена пользователей.
Да, я Жук, три пары лапок и фасеточные глаза :))
На вкладке Правка в списке Файл открыт следующими пользователями просмотрите имена пользователей.
Да, я Жук, три пары лапок и фасеточные глаза :))
The opinion expressed by me is not an official position of Microsoft
Он открывает файл через устаревшие «Общие книги» размещённую в сети предприятия, но файл у него открывается в режиме «Только для чтения» и он не видит кто из пользователей открыл файл. Для решения этой задачи, он возможно пишет в VBA код выполняющий задачу:
«Если при попытке открыть файл, файл можно открыть только в режиме «Только для чтения», VBA выводит окно «Файл занят пользователем: Имярек», в противном случае открыть файл на редактирование.»
Допускаю, что ему необходим «UserName» или его аналог для VBA.
Да, я Жук, три пары лапок и фасеточные глаза :))
да мне нужно это. как можно реализовать?
Да, я Жук, три пары лапок и фасеточные глаза :))
Внимательно изучите статью «Общие книги», ссылку на которую я вам дал ранее. В ней пошагово в девять шагов, написано как создавать и работать с Общей книгой. Также внимательно изучите «Дополнительные сведения».
По вашему скриншоту, файл не является Общей книгой и открыт в монопольном режиме :
Дополните, что у вас имеется уже сейчас, и что может ваш макрос.
В дополнение, если бы вы внимательно прочитали статью и выполнили все рекомендации статьи, ссылку на которую вам дал ранее, то у вас был бы результат отображения всех пользователей открывших книгу на редактирование:
и не нужно было бы создавать макрос, так как Общая книга открывается для редактирования у всех открывающих Общую книгу:
При наличии Skype, вы также могли бы обмениваться мгновенными сообщениями с совместно работающими пользователями.
Да, я Жук, три пары лапок и фасеточные глаза :))
Как определить кто открыл файлы в сетевой папке и сбросить сессии пользователя в Windows Server
На общедоступном сетевом ресурсе могут возникать ошибки доступа к файлам. Причиной этому является некорректно завершенная сессия пользователя, ошибки в работе ПО или просто кто-то открыл файл и не закрывает его. В такой ситуации файл оказывается заблокированным и не доступен для работы другим пользователям.
Решить проблему доступа к файлу можно путем закрытия сеансов использующих этот файл. В этой статье я расскажу как определить кто открыл файл в сетевой папке и как закрыть это подключение.
Рассмотрим два способа:
1 способ. Получаем список открытых файлов с помощью оснастки «Управление компьютером».
Для получения списка открытых файлов на файловом сервере воспользуемся оснасткой консоли «Управление компьютером». Для запуска оснастки нажимаем сочетание клавиш «Win + R» и набираем название оснастки «compmgmt.msc».
В иерархии оснастки переходим /Управление компьютером/Служебные программы/Общие папки/Открытые файлы.
В правой части оснастки появится список открытых файлов. Здесь можно увидеть имя пользователя открывшего файл, количество блокировок и режим доступа к файлу.
Закрываем файл. Чтобы закрыть сетевой файл открытый другим пользователем находим его в списке и в контекстном меню выбираем пункт «Закрыть открытый файл».
2 способ. Просмотр открытых файлов через командную строку утилитой Openfiles.
Утилита Openfiles дает нам более широкие возможности по поиску и закрытию заблокированных файлов.
C помощью openfiles можно просмотреть список открытых файлов на сервере удаленно. Для этого открываем командную и запускаем утилиту с параметрами.
По-умолчанию список файлов показан в формате таблицы, но есть параметры позволяющие изменить формат вывода:
Если необходимо увидеть информацию о количестве блокировок файлов (#Locks) и в каком режиме открыт файл (чтение или запись), то можно воспользоваться параметром /v.
Определяем кто открыл сетевой файл.
Чтобы найти пользователя, который открыл и заблокировал нужный нам файл запускаем Openfiles с командой find.
в команде find указан параметр /i, чтобы поиск был регистронезависимым.
После того когда мы узнали имя пользо
Закрываем заблокированный сетевой файл.
Закрыть открытый файл можно по id сессии таким способом:
Закрыть все сетевые подключения к файлам и папкам, которые открыл пользователь BadUser:
Закрыть все файлы и директории открытые в режиме чтение/запись:
Закрыть все подключения к директории с именем «c:\myshare»:
Чтобы сбросить все сессии на удаленном сервере FileServer, которые открыл пользователь domain\baduser, независимо от id сессии:
Отслеживание входа пользователей в книгу Excel
Давайте попробуем решить эту задачу. Итак, нам нужно:
Этап 1. Создаем «Лог»
Добавим в нашу книгу новый лист, куда будет записываться информация о всех пользователях и назовем его, например, Лог. На нем создадим простую шапку будущего журнала учета посетителей:
Этап 2. Макросы фиксации входа-выхода
Теперь добавим макросы для записи на лист Лог даты-времени и имен пользователей при открытии и закрытии книги. Для этого нужно открыть редактор Visual Basic с помощью сочетания Alt+F11 или с помощью кнопки Visual Basic на вкладке Разработчик (Developer) и найти в левом верхнем углу панель Project (если она не отображается, то включить ее можно сочетанием клавиш Ctrl+R):
Двойным щелчком откройте модуль ЭтаКнига (ThisWorkbook) и вставьте туда пару наших макросов для обработки событий открытия и закрытия книги:
В первом приближении все уже должно работать. Попробуйте открыть-закрыть этот файл пару раз и убедитесь, что на лист Лог попадает ваше имя пользователя (логин входа в Windows) и дата-время:
Этап 3. Улучшаем надежность
Можно было бы скрыть лист Лог и на этом остановиться, но есть одно «но»: если у пользователя, который открывает нашу книгу, макросы разрешены по умолчанию либо он сам их разрешает, нажав в окне предупреждения на кнопку Включить содержимое, то все в порядке:
Но что если пользователь не разрешит выполнение макросов или они отключены у него по умолчанию? Тогда наши макросы отслеживания выполняться не будут и фиксации имени и даты не произойдет 🙁 Как же заставить пользователя разрешить использование макросов?
Чтобы обойти эту проблемку воспользуемся небольшой тактической хитростью. Добавьте в нашу книгу еще один чистый лист, назовите его Предупреждение и вставьте на него следующий текст:
Чтобы реализовать все описанное, слегка изменим наши процедуры в модуле ЭтаКнига (ThisWorkbook):
Чтобы просмотреть скрытый Лог откройте редактор VisualBasic (Alt+F11), выделите лист на панели Project и измените его видимость на панели Properties, используя свойство Visible:
Если пользователи настолько продвинутые, что знают про суперскрытые листы и могут их отобразить через редактор Visual Basic или нарушить работу наших макросов, то можно дополнительно поставить пароль на просмотр и изменение макросов. Для этого щелкните правой кнопкой мыши по имени файла в панели Project (строка VBAProject (blackbox.xls)), выберите команду VBA Project Properties и включите флажок Lock project for viewing и задайте пароль на вкладке Protection:
Теперь точно никто не уйдет безнаказанным. Большой Брат следит за тобой! 😉