вторник, 4 декабря 2012 г.

Страховка от пользователей MS Excel

Так как пользователей огромное количество и они все работают с документами созданными во всеми нами любимом редакторе MS Excel, то регулярно встречаются случаи когда документы портятся, теряются, и пропадают разным - не предсказуемым способом(выключили свет, вынули флешку и т.д.) Надежды на автоматическое сохранение нет, и особого доверия так же оно не вызывает.

Дабы избежать подобных случаев решил написать маленькую утилитку, которая бы в свою очередь страховала пользователя и упрощала процесс восстановления неведомо куда пропавшего документа.

Для борьбы с MS Excel было решено использовать встроенные механизмы самого офисного пакета, но управлять ими из вне.

Для решения данной задачи использовалась Delphi.
Принцип работы:
1)Запускается утилита
2) Регулярно проверяем наличие запущенного приложения MS Excel.
3) При обнаружении работающего Excel, создается OLE подключение к встроенному языку Visual Basic Application(VBA).
4)Используя VBA сохраняем копию работающего документа в заранее установленную временную директорию.
5) Для уменьшения размера занимаемой копии подвергаем её сжатию.
6) Регулярно обновляем созданную копию документа.
7) При закрытии документа или MS Excel высвобождаем занимаемый OLE объект.

В случае потери документа используя средства программы имеем возможность восстановить файл.

Работающую программу можно взять тут https://docs.google.com/open?id=0B888Vt6ak9afZUxLQ2l4WE85cVE

Комментариев нет:

Отправить комментарий