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