|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
На сервере лежит эксель-файл. Если на другой машине этот файл открыли первыми, то я имею возможность только чтения. Как програмно узнать с какой машины открыт это файл для чтения записи? (этот файл открываэтся в макросе програмно) Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2008, 15:21 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
+1 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2008, 10:37 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
Пложи рядом текстовый файл и пускай макрос записывает данные в этот файл. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2008, 12:04 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
Попробуйте - Tools - Share Workbook, это даёт возможность другим юзерам совместо работать. Но когд одновременно двое или более юзеров будут редактировать одну и тоже ячейку, возникнут ошибки. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2008, 12:19 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
vkodor Пложи рядом текстовый файл и пускай макрос записывает данные в этот файл. Вы считаете это удобным, если да, то при каких условиях? Предположим обрабатывает программа n-файлов (много) в разных папках, 5 из которых были открыты. Значит после обработки останется 5 txt файлов. Что с этим делать, учитывая то, что надо файлики дальше обрабатывать? Gioch Попробуйте - Tools - Share Workbook, это даёт возможность другим юзерам совместо работать. Но когд одновременно двое или более юзеров будут редактировать одну и тоже ячейку, возникнут ошибки. Общий доступ не считаю приемлимым, так как сильно тормозит файл. Мне представляется, что удобнее попросить человека закрыть файл (тем более они все сидят в одной комнате). Вот когда пытаешься открыть файл ручками, открытый кем-то еще, то появляется сообщение "Редактирование ... запрещено пользователем XXX ..." , отсюда вывод! можно ведь программно как-то узнать кем открыт файл. Искал в API функциях, не нашел. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2008, 14:02 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
Общий доступ приемлимым когда у одного открыт файл а другой редактирует и не надо просить чтобы открывший первым файл закрыл его. При общем доступе можно дать разрешения юзерам и узнать кто конектится легко, просто посмотреть Edit - Окно - "Who has this book now open". ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2008, 14:45 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
Chelovek Tapok vkodor Пложи рядом текстовый файл и пускай макрос записывает данные в этот файл. Вы считаете это удобным, если да, то при каких условиях? Предположим обрабатывает программа n-файлов (много) в разных папках, 5 из которых были открыты. Значит после обработки останется 5 txt файлов. Что с этим делать, учитывая то, что надо файлики дальше обрабатывать? На неординарный ник, фантазии хватило, а вот на удаление txt после использования нет? И необязательно 5 файлов, достаточно одного. Chelovek Tapok Вот когда пытаешься открыть файл ручками, открытый кем-то еще, то появляется сообщение "Редактирование ... запрещено пользователем XXX ..." , отсюда вывод! можно ведь программно как-то узнать кем открыт файл. Искал в API функциях, не нашел. Вывод неправильный. Узнать что файл занят - это можно, а вот кем занят - это невозможно. Если найдешь способ, дай знать, я не нашел, хотя искал долго. Если ли какое-то граничное количество подключений пользователей Проверка, откыт лифайл??? P.S. Если я не ошибаюсь, в сообщении "Редактирование ... запрещено пользователем XXX ..." XXX - это то что прописано в поле "Имя пользования" на вкладке "Общие" в меню "Сервис-Параметры..." ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2008, 14:58 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
Gioch Общий доступ приемлимым когда у одного открыт файл а другой редактирует и не надо просить чтобы открывший первым файл закрыл его. При общем доступе можно дать разрешения юзерам и узнать кто конектится легко, просто посмотреть Edit - Окно - "Who has this book now open". Что такое общий доступ мне известно, но работать таким образом не удобно (причина была указана ранее). Проще всем пользователям дать доступ только на чтение и, определенным дать возможность править vkodor На неординарный ник, фантазии хватило, а вот на удаление txt после использования нет? И необязательно 5 файлов, достаточно одного. Вы меня не правильно поняли. Чтобы файл txt удалить, данные из него (прежде) надо перенести в файлы .xls, которые открыты будут пользователями еще неизвестно сколько. А работа такова, что нельзя идти дальше, пока данные не окажутся в файлах xls. vkodor Вывод неправильный. Узнать что файл занят - это можно, а вот кем занят - это невозможно. Вы опять меня не понимаете(может и моя вина, что не подробно объясняю). Есть файл 1.xls на общем сетевом ресурсе, который открыл пользователь Иванов. Я пытаюсь у себя на компьютере открыть этот файл ручками и выскакивает сообщение "Файл уже используется Редактирование 1.xls запрещено пользователем Иванов. Откройте только для чтения или ....." Как мне видится, то есть некая библиотека, благодаря которой можно получить данные об Иванове программно (как никак сообщение выскочило с этой информацией). vkodor P.S. Если я не ошибаюсь, в сообщении "Редактирование ... запрещено пользователем XXX ..." XXX - это то что прописано в поле "Имя пользования" на вкладке "Общие" в меню "Сервис-Параметры..." Ошибаетесь. Пропишется имя пользователя application на вашем компьютере. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2008, 17:13 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
vkodor Если ли какое-то граничное количество подключений пользователей Проверка, откыт лифайл??? А ссылки еще посмотрю... (спасибо) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2008, 17:14 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
Спасибо за ваши отклики. Из всего этого понял, что задачку с наскока нерешить. Поэтому думаю решить в обход. Вместо текствого файлика буду использовать этотже файл. только информацию записывать в каком нибудь пользовательском свойстве. При открытии проверять, если имею возможность для записи - буду вписывать в определенное свойство имя пользователя. и тутже сохранять чтоб было доступно для чтения с других машин. Видно ничего лучшего придумать пока нельзя. Всем спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2008, 19:56 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
Gelo_R Поэтому думаю решить в обход. Вместо текствого файлика буду использовать этотже файл. только информацию записывать в каком нибудь пользовательском свойстве. При открытии проверять, если имею возможность для записи - буду вписывать в определенное свойство имя пользователя. и тутже сохранять чтоб было доступно для чтения с других машин. Видно ничего лучшего придумать пока нельзя. Кстати, может проще записывать адрес файла и пользователя в файл txt (т.к. он будет вешать меньше чем файл excel)? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2008, 09:12 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
Пардон! Весить меньше... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2008, 10:30 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
Простите, что с опозданием... но может кому то еще понадобится Private Sub Workbook_Open() If ActiveWorkbook.ReadOnly Then msgbox "Открыта только для чтения" End If End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2010, 15:34 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
Gelo_RСпасибо за ваши отклики. Из всего этого понял, что задачку с наскока нерешить. Поэтому думаю решить в обход. Вместо текствого файлика буду использовать этотже файл. только информацию записывать в каком нибудь пользовательском свойстве. При открытии проверять, если имею возможность для записи - буду вписывать в определенное свойство имя пользователя. и тутже сохранять чтоб было доступно для чтения с других машин. Видно ничего лучшего придумать пока нельзя. Всем спасибо.Довольное оригинальное решение. Сам сталкивался с такими проблемами. И часто бывали глюки, что пишет к примеру, что файл открыт Ивановым, а на самом деле открыт Васечкиным (при том, что у пользователей в настройках Excel указаны правильные ФИО), в результате только ходка к админам помогает найти кем-же на самом деле открыт файл. Есть подозрения, что при некоторых глюках, Excel тупо показывает, кто последним сохранил файл, а кем он реально открыт, он и сам не знает. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2010, 10:43 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
тогда впринципе можно макрос написать, который через API-вызов например вычитывал бы имя машины/Login name/IPшник из системного реестра запустившего пользователя. И складывать их например в Workbook.Property. Или на отдельный worksheet. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2010, 14:38 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
Pavel Berezinтогда впринципе можно макрос написать, который через API-вызов например вычитывал бы имя машины/Login name/IPшник из системного реестра запустившего пользователя. И складывать их например в Workbook.Property. Или на отдельный worksheet.штука реально полезная и интересная. реализовал так, вставляю во все отчеты =))) пихаем это в Книгу Код: plaintext 1. 2. 3.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2010, 16:43 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
а зачем в лог-файл пихать? Чем отдельный листик в тойже книге не устраивает (скрыть его накрайняк, если хочется конфиденциальности)? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2010, 20:06 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
Pavel Berezinа зачем в лог-файл пихать? Чем отдельный листик в тойже книге не устраивает (скрыть его накрайняк, если хочется конфиденциальности)?потому, что книгу надо сохранять ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2010, 22:05 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
я сделал так, первый пользователь который открыл файл , прописывается его ip в скрытый лист в определенную ячейку, если втрой открыл то выскакивает сообщение что файл открыт (ляляля) впр + таблица соответствий указывает кто открыл при первом открытии происходит определение ип и сохранение файла при закоытии ип удаляется если интересно выложу саму процедуру ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2010, 01:45 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
R Dmitryя сделал так, первый пользователь который открыл файл , прописывается его ip в скрытый лист в определенную ячейку, если втрой открыл то выскакивает сообщение что файл открыт (ляляля) впр + таблица соответствий указывает кто открыл при первом открытии происходит определение ип и сохранение файла при закоытии ип удаляется если интересно выложу саму процедуруКак я понимаю, макросы самого-же документа считывают при открытии информацию со скрытого листа и выводят сообщение, кем документ был открыл? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2010, 09:29 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
Реализация должна быть такая (но надо дружить с сисадмином) 1. Сделать запрос на сервак где лежит файл об открытых файлах 2. Найти в списке тот который пытаемся открыть 3. Вывести нужную информацию ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2010, 14:56 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
vkodorВывод неправильный. Узнать что файл занят - это можно, а вот кем занят - это невозможно. Если найдешь способ, дай знать, я не нашел, хотя искал долго. По-моему, все-таки возможно. Когда файл открывается в Excel, то Excel создает в том же каталоге файл с таким же именем, но добавляя "~$", например, "~$ИмяФайла.xlsx". В этот файл Excel пишет имя пользователя, открывшего файл. Иногда в результате сбоя файл "~$ИмяФайла.xlsx" не удаляется с диска, что не позволяет редактировать исходный файл, т.к. Excel думает, что файл открыт. Т.е. чтобы узнать кто открыл файл, нужно выудить имя этого пользователя из файла "~$ИмяФайла.xlsx". Долго не тестировал, набросок кода выложил здесь: https://social.msdn.microsoft.com/Forums/office/en-US/5890cc5d-04cd-4c57-aebe-dec1d6c3f902/opening-excel-from-access-with-vba-when-excel-is-already-open?forum=accessdev ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2017, 02:01 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
Правильнее будет определить владельца лок-файла. Читать этот файл нет смысла. Там нет ни имени компа, ни логина. Только имя пользователя, которое ввели при первом входе - а это эксель и так показывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2017, 04:41 |
|
Excel. Как узнать кем открыт файл для чтени\записи?
|
|||
---|---|---|---|
#18+
aquaman12Только имя пользователя, которое ввели при первом входе - а это эксель и так показывает. Да, Excel показывает, все верно. Но если не нужно, чтобы это делал Excel, а просто нужно знать как он это делает, откуда он берет данные. Считайте это ответом на вот этот вопрос: Chelovek TapokВот когда пытаешься открыть файл ручками, открытый кем-то еще, то появляется сообщение "Редактирование ... запрещено пользователем XXX ..." , отсюда вывод! можно ведь программно как-то узнать кем открыт файл. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2017, 10:22 |
|
|
start [/forum/topic.php?fid=61&msg=35326397&tid=2172533]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 270ms |
total: | 404ms |
0 / 0 |