VBA скрпт для excel
Нужен макрос VBA работающий по следующему алгоритму:
При открытии файла проверяем, есть ли файл status.pop в родительской папке (папка екселевского файла).
Если файл существует, тогда вывести на екран форму. Форма содержит:
-заблокированную кнопку Х (кнопка закрытия формы)
-прогресбар (можно символьный)
- лейбл "Файл открыт на другом компьютере, ожидайте закрытия..."
- кнопку "Не ждать и закрыть"
- кнопку "Открыть только для чтения"
Пока форма отображаеться на экране (прогресс бар в ней зациклен), идет проверка каждые 500 мс на существование файла status.pop в родительской папке. Как только status.pop не существует, делаем временную задержку 10 секунд, создаем status.pop (файл должен быть защищен от удаления) и открываем екселевский файл, сразу сохраняем его с пометкой только для чтения и закрываем форму. Пользователь может работать в файле.
При закрытии файла удаляем созданный status.pop, снимаем с екселевского файла статус "только для чтения"
На форме:
кнопка "Не ждать и закрыть"- закрывет файл - не удаляя файла "status.pop"
кнопка "Открыть только для чтения"- открывает екселевский файл без возможности сделать сохранение в исходный файл.
Это нужно для того что бы в ескелевский файл, пользователи на разных компьютерах не могли одновременно внести данные.