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

Вход

Регистрация

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

 

= Мир MS Excel/Блокировка повторного открытия файла - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Блокировка повторного открытия файла (Макросы/Sub)
Блокировка повторного открытия файла
Starbirst Дата: Пятница, 09.12.2016, 15:29 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 83
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Ребята! Столкнулся с такой ситуацией: на сетевом диске имеется файл excel. Подскажите, пожалуйста, можно ли поставить блокировку на файл, чтобы избежать одновременного открытия файла разными пользователя, имеющими доступ к файлу? Макросами не владею. Хотелось бы что-то вроде высплывающего окошка: "файл используется другим пользователем, попробуйте позже". И как избежать двойного открытия файла с одного ПК? Т. е. например при попытке дважды открыть один и тот же файл было окошко "невозможно открыть дважды". Спасибо всем откликнувшимся.


Сообщение отредактировал Starbirst - Пятница, 09.12.2016, 15:30
 
Ответить
СообщениеРебята! Столкнулся с такой ситуацией: на сетевом диске имеется файл excel. Подскажите, пожалуйста, можно ли поставить блокировку на файл, чтобы избежать одновременного открытия файла разными пользователя, имеющими доступ к файлу? Макросами не владею. Хотелось бы что-то вроде высплывающего окошка: "файл используется другим пользователем, попробуйте позже". И как избежать двойного открытия файла с одного ПК? Т. е. например при попытке дважды открыть один и тот же файл было окошко "невозможно открыть дважды". Спасибо всем откликнувшимся.

Автор - Starbirst
Дата добавления - 09.12.2016 в 15:29
Alex_ST Дата: Пятница, 09.12.2016, 22:25 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3197
Репутация: 606 ±
Замечаний: 0% ±

2003
Что-то я не понял...
1. Если файл НЕ ОБЩЕГО ДОСТУПА, лежащий на сетевом диске, кем-то уже открыт, то при попытке его открыть кем-то ещё и так показывается предупреждение, что файл занят и доступен только для чтения. Этого разве мало?
А при попытке дважды открыть один и тот же файл Excel и так отругается, что не может быть одновременно открыто два файла с одинаковыми именами.
2. А если у Вас Excel стоит криво и для каждого открываемого файла запускает отдельный экземпляр приложения, то для нового процесса это будет аналогично тому, что файл занят и доступен только для чтения (см.п.1)

Но если хочется поизвращаться с макросами, то стандартная функция GetAttr Вам поможет.
В модуле ЭтаКнига в процедуру Private Sub Workbook_Open() добавьте что-то вроде этого
[vba]
Код
If GetAttr(ThisWorkbook.FullName) And vbReadOnly Then MsgBox "Файл занят. Зайдите позже"
[/vba]
Правда, встанет проблема: исполнение макросов по умолчанию запрещено и потому юзеры, не знающие, что это такое, его не разрешают в настройках и потому Ваши труды над макросом будут бесполезны.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеЧто-то я не понял...
1. Если файл НЕ ОБЩЕГО ДОСТУПА, лежащий на сетевом диске, кем-то уже открыт, то при попытке его открыть кем-то ещё и так показывается предупреждение, что файл занят и доступен только для чтения. Этого разве мало?
А при попытке дважды открыть один и тот же файл Excel и так отругается, что не может быть одновременно открыто два файла с одинаковыми именами.
2. А если у Вас Excel стоит криво и для каждого открываемого файла запускает отдельный экземпляр приложения, то для нового процесса это будет аналогично тому, что файл занят и доступен только для чтения (см.п.1)

Но если хочется поизвращаться с макросами, то стандартная функция GetAttr Вам поможет.
В модуле ЭтаКнига в процедуру Private Sub Workbook_Open() добавьте что-то вроде этого
[vba]
Код
If GetAttr(ThisWorkbook.FullName) And vbReadOnly Then MsgBox "Файл занят. Зайдите позже"
[/vba]
Правда, встанет проблема: исполнение макросов по умолчанию запрещено и потому юзеры, не знающие, что это такое, его не разрешают в настройках и потому Ваши труды над макросом будут бесполезны.

Автор - Alex_ST
Дата добавления - 09.12.2016 в 22:25
Pelena Дата: Суббота, 10.12.2016, 08:35 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 19147
Репутация: 4410 ±
Замечаний: ±

Excel 365 & Mac Excel


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдесь ещё обсуждается
http://www.excel-vba.ru/forum/index.php?topic=4867.msg26639#new

Автор - Pelena
Дата добавления - 10.12.2016 в 08:35
Alex_ST Дата: Суббота, 10.12.2016, 19:16 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3197
Репутация: 606 ±
Замечаний: 0% ±

2003
Здесь ещё обсуждается
Это Лена ещё мягко выразилась.
Это типичный кросспост. У себя на сайте Дима (The_Prist) уже 2 страницы пытается Starbirst всё объяснить.
Пока безуспешно.
Starbirst, у вас задача поставлена с ног на голову.
Ситуация такая: на сети есть файл, с которым нужно работать нескольким пользователям, но разрешать общий доступ в нём нельзя, т.к. написанные Вами макросы перестают работать.
И вместо того, чтобы пытаться проанализировать, что мешает Вашим макросам работать в режиме общего доступа к файлу Вы пытаетесь просто запретить доступ к нему более чем одного пользователя.
The_Prist дал Вам ссылку на описание ограничений при работе с файлами общего доступа.
Почитайте её. Она на русском языке. Если Ваши макросы делают что-то из списка запрещённых для файлов общего доступа операций, пересмотрите логику работы.
Если ничего из запрещённых нет, то значит макросы делают что-то не разрешённое для достижения нужных не запрещённых результатов.
И вообще, кросспост ЗДЕСЬ я прекращаю. Одновременно отвечать на один и тот же вопрос на разных сайтах одному и тому же человеку невозможно.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Здесь ещё обсуждается
Это Лена ещё мягко выразилась.
Это типичный кросспост. У себя на сайте Дима (The_Prist) уже 2 страницы пытается Starbirst всё объяснить.
Пока безуспешно.
Starbirst, у вас задача поставлена с ног на голову.
Ситуация такая: на сети есть файл, с которым нужно работать нескольким пользователям, но разрешать общий доступ в нём нельзя, т.к. написанные Вами макросы перестают работать.
И вместо того, чтобы пытаться проанализировать, что мешает Вашим макросам работать в режиме общего доступа к файлу Вы пытаетесь просто запретить доступ к нему более чем одного пользователя.
The_Prist дал Вам ссылку на описание ограничений при работе с файлами общего доступа.
Почитайте её. Она на русском языке. Если Ваши макросы делают что-то из списка запрещённых для файлов общего доступа операций, пересмотрите логику работы.
Если ничего из запрещённых нет, то значит макросы делают что-то не разрешённое для достижения нужных не запрещённых результатов.
И вообще, кросспост ЗДЕСЬ я прекращаю. Одновременно отвечать на один и тот же вопрос на разных сайтах одному и тому же человеку невозможно.

Автор - Alex_ST
Дата добавления - 10.12.2016 в 19:16
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Блокировка повторного открытия файла (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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