Что нового

Скрипт и сохранение файла Excel, который открыт не весть где...

AndreyK

Новичок
Сообщения
4
Репутация
0
Добрый день!

Есть исправно работающий скрипт, который снимает данные со множества приложений, обрбатывает их и сохраняет в файле Excel. Довольно часто, некие нерадивые пользователи оставляют открытым этот файл на своем компе (по сети) и когда я запускаю скрипт, то он все далает исправно за исключением, разумеется, сохранения файла, т.к. последний где-то открыт. Я понимаю, что решение этого вопроса более организационное, чем программное, но возможно кто-то нашел какой-либо НЕТРИВИАЛЬНЫЙ способ решения этой проблемы?! Буду благодарен за любой совет. Спасибо!
 

akoulev

Новичок
Сообщения
169
Репутация
2
Ну, что ж: ситуация вполне ясна; но я не до конца уяснил, чего именно Ты хочешь - установить личность "нерадивого" или же обеспечить выполнение скриптом его скриптовой задачи?
Пара мыслишек по теме (не претендуя на абс. истину):
1) когда в OpenOffice-е (Аналог MSOffice) открываешь файл .ods (аналог .xls), то образуется некий temporary-файл, из которого можно вытащить, скажем, имя открывшего. Это, полагаю, одно направление для отработки.
2) в том же OpenOffice-е есть возможность установки разрешения одновременного редактирования файла. А это, полагаю, второе направление.

PS: Искренне завидую состоятельным людям, готовым платить Майкрософту за егойный офис! ;D

Оп-па! 3-й способ самый очевидный же!!! Открываешь файл (скриптом); в заранее выбранную, _гарантированно_ НЕИСПОЛЬЗУЕМУЮ ячейку пишешь... да чего хочешь, хоть пробел. И сохраняешь. Если успешно сохраняется - порядок, работаем; а вот если проблемы с сохранением - надеваем боксёрские перчатки и отправляемся 'передавать привет' нерадивому юзеру! ;)

Hint: 'Подопытную' ячейку стоит очищать, - дабы там пара гигабайт пробелов не скопилась. :smile:

Способ 4, садистский. Копируешь файл к себе и творишь с ним всё, чего душа просит (и скрипт соизволяет). Потом результирующий файл сохраняешь у себя и копируешь его на его штатное место. Проверяешь: успешно ли. Если не скопировалось - скопирушь позже. Или же сам скрипт и скопирует: пусть раз в -типа- 5 мин. пытается сохранять; по неуспеху - повторяет попытку; по успеху - рапортует об оном успехе и выходит из цикла. Садизм в том, что все изменения, сделанные нерадивым , будут убиты; - так что проанализируй, нужно ли оно Тебе?!

Также, в помощь: виндовая команда netsend прекрасно доставляет окно с матюками ;) на комп нерадивого. А ещё можно radmin-oм удалённо перезагрузить его компьютер - все файлы, при этом, автоматически закрываЮтся.
Выбирай способ!
 
Верх