| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Delphi&Excel (защита от копирования листа) |
| Автор: ADAM83 29.5.2009, 08:46 | ||||
| Здравствуйте! У меня такой вопрос: программно формирую (динамически) отчет в Excel. как программно установить атрибуты защиты на выделения ячеек листа? Мне нужно защитить сформированный отчет от редактирования и копирования юзером! установил защиту листа:
Всё замечательно, ничего не добавляется, ничего не удаляется, но юзер может выделить всё и скопировать на новый лист и пошло поехало! Как быть? Заранее спасибо! Нашел способ запрета выделения
Но если пересохранить документ, то тогда все установленные атрибуты (запреты) не наследуются на новый документ. Эти запреты как нить можно наследовать на копии этого документа? |
| Автор: Vas 29.5.2009, 12:24 |
| А может для этого отчета, какой нибудь отчетник использовать QuickReport, FastReport.... И в них просто отключить экспорт данных и все |
| Автор: ADAM83 29.5.2009, 12:32 |
| Vas, конечно можно было бы. Но там же такой гемор, практически всё придется ручками рисовать. Тут мне один чел идею подкинул, сформировать отчет в XML и показывать итог вебброузером. Как Вам идея? Но я незнаком с XML-ом, как быть? |
| Автор: ADAM83 29.5.2009, 12:53 | ||
Vas,
для меня это тоже что-то новое. Ну тогда я должен проверять, установлен ли у юзверя "pdf-reader (какой-то)" или нет? |
| Автор: Frees 29.5.2009, 13:24 | ||
распознается на раз все все что ты видиш на мониторе скрыть нельзя даже можно не пытаться |
| Автор: ADAM83 29.5.2009, 13:27 | ||
конечно можно использовать какой-то генератор отчетов, но там же такой гемор рисовать ручками. |
| Автор: Akella 29.5.2009, 20:59 | ||
ADAM83, тебе же сказали, забудь про защиту
Добавлено через 1 минуту и 19 секунд Если нужно, то сделай сильную на сколько сможешь.... типа "защита от дурака", ну типа от неопытного пользователя. А более-менее опытный пользователь или сам найдёт выход или ему подскажут опытные. Добавлено через 2 минуты и 40 секунд Рисуй отчёт на канве Добавлено через 3 минуты и 39 секунд Запрети пересохранение... |
| Автор: ADAM83 1.6.2009, 08:16 | ||||
а как запретить пересохранение?
а этот процесс не долгий будет, я просто никогда не рисовал на форме |
| Автор: Frees 1.6.2009, 10:18 | ||
да хоть где рисуй можно сделать скриншот того че ты нарисовал и распазнать а если будет печать то можно распечатать виртуальным принтером получится pdf а пдф уже распознать не стоит эта защита того времени которое ты на нее потратиш лучше защитится по другому НИГДЕ не выводить всю информацию сразу а только логическими небольшими блоками, если это возможно тогда чтобы забрать всю информацию надо будет нажимать много кнопок |
| Автор: ADAM83 1.6.2009, 11:36 | ||||
Frees, че то я не пойму твою идею
а что, если отчет не выводить на экран, а сразу отправить на печать, и если у юзера стоит виртуальный принтер, то отчет откроется пдф-reader-ом? Сделал так: программно сформировал отчет (Excel), и до показа на экран отчета указываю запреты на удаления, добавления строк/столбцов и тд. Создается новый экземпляр Excel-файла (нигде не сохраняю) и установленные атрибуты (запреты) действуют. А если сохранить документ, то все установленные запреты сбрасываются. Что посоветуете? |
| Автор: Akella 1.6.2009, 11:39 |
Ну выведи часть записей, потом, чтобы просмотреть остальную часть, нужно опять нажать кнопку и т.д. А если есть связанные данные, то выводи главные записи, а чтобы посмотреть подчинённые записи, нужно будет кнопки наживать и т.д. |
| Автор: ADAM83 1.6.2009, 11:58 | ||
а это не поможет, суть то в том, что юзвер заполняет данные, распечатывает отчет и в бумажном виде приносит к нам. И мне нужно проконтролировать чтоб он ничего не исправлял в отчете до распечатки. |
| Автор: Frees 1.6.2009, 12:03 |
| может про цифровые подписи как то подумать Добавлено через 8 минут и 20 секунд а почему именно в бумажном, почему не на флешке? файл на флешке можно уже защитить |
| Автор: ADAM83 1.6.2009, 12:22 | ||||||
Frees, ну такая уж у нас технология, никуда не деться, еще и руководство так хочет!
ну... немножко туманно, но слышал насчет цифровой подписи. А что скажете насчет этого:
|
| Автор: Frees 1.6.2009, 12:32 |
| в оле не силен, но наверно можно не показывать exel а сделать предпросмотр в оле контейнере в своей программе |
| Автор: ADAM83 1.6.2009, 12:36 | ||
Frees,
|
| Автор: Akella 1.6.2009, 13:26 | ||||
А ты не показывай эксель вообще, создал отчёт и печатай.
бинго! Добавлено через 48 секунд Может всё-таки воспользоваться каким-нибудь генератором отчётов? Ты за это время уже давно бы соорудил шаблон. |
| Автор: ADAM83 1.6.2009, 13:29 |
| Как говориться, "1 ГОЛОВА ХОРОША, А 3 ЛУЧШЕ"!!! |
| Автор: Dobermann 1.6.2009, 13:32 |
| Хех)) парни а как же ПринтСкрин |
| Автор: Frees 1.6.2009, 13:40 |
откавырять тверткой эту кнопку Добавлено через 1 минуту и 47 секунд а вообще если так критична достоверность то нужно отказаться от бумажного посредника а если после печати с помощью фотошопа и сканера поравят тебе отчет |
| Автор: ADAM83 1.6.2009, 15:11 |
| Кто нить может ответить, как в OLE-контейнере сделать прокрутку? А то Excel-файл не вмещается в контейнер, а родной прокрутки у OLE-контейнера нет! |
| Автор: ADAM83 2.6.2009, 14:49 |
| Люди наверно не буду дальше копаться в защитах инфы в Экселе, а буду использовать Квикрепорт. Всем спасибо за отклик и помощь!!! |