Спрашивающий
Как получить имя пользователя office, который открыл файл exel?

Вопрос
-
в VBScript пытаюсь создать подключение к excel файлу. но эта книга лежит на сервере, иногда эта книга бывает занята другим пользователем. как я могу получить имя пользователя кто занял данную таблицу? уведомление во вложении. Имя пользователя как зарегистрирован в office
я могу читать данные о пользователях через aplication.userstatus. но для этого она должна быть открыта для редактирования нескольким пользователям. Как можно узнать кем занята книга для редактирования
19 июня 2018 г. 10:28
Все ответы
-
https://social.technet.microsoft.com/Forums/getfile/1284111
https://social.technet.microsoft.com/Forums/getfile/1284113
во вложении изображении скриншоты что я хочу видеть
- Изменено marat1905 19 июня 2018 г. 10:30
19 июня 2018 г. 10:29 -
Для загрузки скриншотов, используйте раздел Q9 статьи.
По данным вами ссылкам, результат един:
Да, я Жук, три пары лапок и фасеточные глаза :))
- Изменено ЖукMVP, Moderator 19 июня 2018 г. 11:37
19 июня 2018 г. 11:36Модератор -
https://1drv.ms/u/s!AkzJULR6uSZ-acp6wBM-Y_GXyow
https://1drv.ms/u/s!AkzJULR6uSZ-auBPeqITIncsOe0
19 июня 2018 г. 18:24 -
https://1drv.ms/u/s!AkzJULR6uSZ-acp6wBM-Y_GXyow
https://1drv.ms/u/s!AkzJULR6uSZ-auBPeqITIncsOe0
во вложении изображении скриншоты что я хочу видеть
19 июня 2018 г. 18:25 -
эмнип если файл занят вы его все равно можете открыть в режиме только-для-чтения
The opinion expressed by me is not an official position of Microsoft
19 июня 2018 г. 19:01Модератор -
прочтите пожалуйста в начале. что я писал. я хочу в vb получить имя пользователя кто открыл для редактирования файл.
- Изменено marat1905 19 июня 2018 г. 19:34
19 июня 2018 г. 19:33 -
что будет если открыть файл и посмотреть пользователей которые открыли файл? я прочел что вы можете получить список пользюков, но только после того как откроете, а открыть вы не можете потому что файл занят, и именно на последнее я вам и дал предположительный ответ
и еще тут описан воркераунд по вашей теме. и еще одно похожее обсуждение
The opinion expressed by me is not an official position of Microsoft
- Изменено Vector BCOModerator 19 июня 2018 г. 20:49
19 июня 2018 г. 20:35Модератор -
файл открывается только для чтения. и я не могу узнать кто открыл файл для редактирования. только в начале говорит что занят файл. и каким пользователем. я как понимаю создается файл пользователя с префиксом ~$ и там можно как то узнать кто открыл файл для редактирования.Если верно, то подскажите где в этом файле я могу узнать имя пользователя20 июня 2018 г. 4:01
-
Выполните и напишите ваш результат:
На вкладке Правка в списке Файл открыт следующими пользователями просмотрите имена пользователей.
Да, я Жук, три пары лапок и фасеточные глаза :))
20 июня 2018 г. 4:51Модератор -
Выполните и напишите ваш результат:
На вкладке Правка в списке Файл открыт следующими пользователями просмотрите имена пользователей.
Да, я Жук, три пары лапок и фасеточные глаза :))
The opinion expressed by me is not an official position of Microsoft
20 июня 2018 г. 5:32Модератор -
Он открывает файл через устаревшие "Общие книги" размещённую в сети предприятия, но файл у него открывается в режиме "Только для чтения" и он не видит кто из пользователей открыл файл. Для решения этой задачи, он возможно пишет в VBA код выполняющий задачу:
"Если при попытке открыть файл, файл можно открыть только в режиме "Только для чтения", VBA выводит окно "Файл занят пользователем: Имярек", в противном случае открыть файл на редактирование."
Допускаю, что ему необходим "UserName" или его аналог для VBA.
Да, я Жук, три пары лапок и фасеточные глаза :))
20 июня 2018 г. 6:10Модератор -
да мне нужно это. как можно реализовать?20 июня 2018 г. 8:12
-
да мне нужно это. как можно реализовать?
Для начала, ответьте на мой вопрос, какой результат получается у вас, после предложенных вам действий.Да, я Жук, три пары лапок и фасеточные глаза :))
20 июня 2018 г. 8:43Модератор -
Вы имеете ввиду рецензирование- общий доступ-вкладка правка https://1drv.ms/u/s!AkzJULR6uSZ-a6l4giHF-3ynH8Y. это на том компе где открыт файл, а на другом компе с которого я пытаюсь отрыть повторно доступ книге заблокирован. выходит уведомление редактирование запрещено. пользователем.
- Изменено marat1905 20 июня 2018 г. 11:02
20 июня 2018 г. 11:00 -
Внимательно изучите статью "Общие книги", ссылку на которую я вам дал ранее. В ней пошагово в девять шагов, написано как создавать и работать с Общей книгой. Также внимательно изучите "Дополнительные сведения".
По вашему скриншоту, файл не является Общей книгой и открыт в монопольном режиме:
Дополните, что у вас имеется уже сейчас, и что может ваш макрос.
В дополнение, если бы вы внимательно прочитали статью и выполнили все рекомендации статьи, ссылку на которую вам дал ранее, то у вас был бы результат отображения всех пользователей открывших книгу на редактирование:
и не нужно было бы создавать макрос, так как Общая книга открывается для редактирования у всех открывающих Общую книгу:
При наличии Skype, вы также могли бы обмениваться мгновенными сообщениями с совместно работающими пользователями.
Да, я Жук, три пары лапок и фасеточные глаза :))
- Изменено ЖукMVP, Moderator 20 июня 2018 г. 14:13
20 июня 2018 г. 11:24Модератор -
так то я могу сделать в VB чтоб видеть какие пользователи подключены в общем доступе. черезuserstatus. но как сделать чтоб увидеть не включая книгу в общий доступ увидеть какой пользователь занял книгу. как прилагал скриншот. ранее, что запрещено редактирование так как занял пользователь такой то?20 июня 2018 г. 18:04
-
1. Простым языком, - Монопольный режим предназначен для единоличного управления файлом, тем кто первый его открыл.
2. Вы не ответили, что у вас за код VBA и что он конкретно уже может делать.
3. Вы не ответили, нашли ли вы аналог "UserName" выводящий имя пользователя в Office, в VBA.
Да, я Жук, три пары лапок и фасеточные глаза :))
20 июня 2018 г. 20:04Модератор -
https://msdn.microsoft.com/en-us/vba/excel-vba/articles/workbook-userstatus-property-excel?f=255&MSPPError=-2147217396
UserStatus не возвращает информацию о пользователях, у которых указанная рабочая книга открыта как доступная только для чтения. мне нужен аналог его. который бы смог вернуть информацию о пользователе у которого открыта книга.
21 июня 2018 г. 2:25 -
Разве?
Код VBA приведённый вами в ссылке, макрос при запуске выводит результат в новой создаваемой макросом Книге:
Вы будете удивлены, но макрос VBA на MSDN по данной вами ссылке выводит результат в Уведомлении Excel:
Да, я Жук, три пары лапок и фасеточные глаза :))
- Изменено ЖукMVP, Moderator 21 июня 2018 г. 4:58
21 июня 2018 г. 4:32Модератор -
вы будете удивлены но я это знаю. я пишу скрипт который записывает данные в книгу в определенное время. но иногда эта книга бывает занята каким то пользователем. я хочу чтоб когда не смог записать данные в книгу скрипт отправит на почту сообщение что такой то индивид заня книгу21 июня 2018 г. 7:01
-
Для меня уже не осталось ничего для удивления, дополните:
-почему вы сразу не дали ссылку на этот макрос MSDN;
-почему вы не захотели делиться вашим результатом работы макроса;
-почему вы пишите, что макрос у вас не работает.
Да, я Жук, три пары лапок и фасеточные глаза :))
- Изменено ЖукMVP, Moderator 21 июня 2018 г. 7:44
21 июня 2018 г. 7:40Модератор -
Добрый день,
Возможно будет правильней отследить кто открыл файл через сессии на самом сервере, начните отсюда:
Powershell / WMI:
21 июня 2018 г. 8:10 -
эта команда мне не выводит данные когда книга занята другим пользователем. мне нужна другая команда которая видит кем занята книга вернее читает уведомление . https://social.technet.microsoft.com/Forums/getfile/1284796
и я не пишу макрос в книге я пишу скрипт vbscript. Если я напишу макрос в Excel он будет формировать имя если ему разрешат запуск макросов. если нет то останется последний кто разрешал работу макроса, это не выход.
- Изменено marat1905 21 июня 2018 г. 11:07
21 июня 2018 г. 10:59 -
если я буду читать сессии он мне будет выдавать имя пользователя windows? И надо скорее всего админовские права на файловый сервер
21 июня 2018 г. 11:02 -
Да, имя пользователя. Права нужны.21 июня 2018 г. 11:06
-
это совсем не то. если попробовать открыть книгу на разных компах. в одном компе откроется для редактирование. на другом выйдет сообщение вроде этого
https://social.technet.microsoft.com/Forums/getfile/1284796
и вот мне нужно через скрипт узнать что открыт файл пользователем такой то. а это имя пользователя прописывается в office.
Вот как можно вернуть имя пользователя скриптом?
https://1drv.ms/u/s!AkzJULR6uSZ-acp6wBM-Y_GXyow- Изменено marat1905 21 июня 2018 г. 11:16
21 июня 2018 г. 11:13 -
Если делать посредством Powershell, то через Get-ADUser. Ежели VBS - https://social.msdn.microsoft.com/Forums/ru-RU/1f8a52a5-34e2-42e2-afff-d5b90e5b739b/retrieve-ad-info-for-one-user-using-vbscript?forum=scripting21 июня 2018 г. 11:22
-
завтра попробую21 июня 2018 г. 18:48