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

Вход

Регистрация

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

 

= Мир MS Excel/Обработка очереди запросов пользователей - Мир MS Excel

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

Excel 2013
Коллеги, добрый день!
Есть файл с многопользовательским доступом (shared workbook).
Есть форма с кнопкой "Сохранить файл", при нажатии на кот файл записывается и запускается некий исполняемый код.
Проблема в том, что если пользователи одновременно записывают файл (нажимают Сохранить), возникает ошибка 1004 Application-defined or Object-defined error, связанный с тем, что доступ к файлу заблокирован (т.е. пока один пользователь записывает, другие это делать не могут).
Поставил в обработчик ошибки при появлении ошибки Application.Wait 1 сек, но в этом случае код исполняется неверно, т.к. пользовательские запросы не выстраиваются в очередь, а выполняются все равно одновременно после N-времени ожидания.
Соответственно вопрос по сабжу - как можно выстроить запросы пользователей по методу FIFO? Возможно, с использованием винапи или еще каких библиотек..? По сути. нужно "эмулировать" стандартную работу веб-сервера...
Нестандартные решения рассматриваются.

ps. то что эксель, по сути, плохо предназначен д\многопользовательской работы я в курсе; к сожалению заказчик настаивает исключительно на использовании экселя.


Сообщение отредактировал avalanche1 - Воскресенье, 30.03.2014, 15:47
 
Ответить
СообщениеКоллеги, добрый день!
Есть файл с многопользовательским доступом (shared workbook).
Есть форма с кнопкой "Сохранить файл", при нажатии на кот файл записывается и запускается некий исполняемый код.
Проблема в том, что если пользователи одновременно записывают файл (нажимают Сохранить), возникает ошибка 1004 Application-defined or Object-defined error, связанный с тем, что доступ к файлу заблокирован (т.е. пока один пользователь записывает, другие это делать не могут).
Поставил в обработчик ошибки при появлении ошибки Application.Wait 1 сек, но в этом случае код исполняется неверно, т.к. пользовательские запросы не выстраиваются в очередь, а выполняются все равно одновременно после N-времени ожидания.
Соответственно вопрос по сабжу - как можно выстроить запросы пользователей по методу FIFO? Возможно, с использованием винапи или еще каких библиотек..? По сути. нужно "эмулировать" стандартную работу веб-сервера...
Нестандартные решения рассматриваются.

ps. то что эксель, по сути, плохо предназначен д\многопользовательской работы я в курсе; к сожалению заказчик настаивает исключительно на использовании экселя.

Автор - avalanche1
Дата добавления - 30.03.2014 в 15:39
RAN Дата: Воскресенье, 30.03.2014, 16:29 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
статистика

на форуме "Вопросы и решения" с
Цитата
Здравствуйте!
Нужна помощь

2 темы

на форуме "Вопросы и решения" ответов 0

на форуме "Работа / Фриланс" - сообщения в 24 темах


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщениестатистика

на форуме "Вопросы и решения" с
Цитата
Здравствуйте!
Нужна помощь

2 темы

на форуме "Вопросы и решения" ответов 0

на форуме "Работа / Фриланс" - сообщения в 24 темах

Автор - RAN
Дата добавления - 30.03.2014 в 16:29
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Обработка очереди запросов пользователей (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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