Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Delphi&Excel (защита от копирования листа), или как недопустить выделения ячеек 
V
    Опции темы
ADAM83
Дата 29.5.2009, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 13.1.2006

Репутация: нет
Всего: нет



Здравствуйте! У меня такой вопрос: программно формирую (динамически) отчет в Excel. как программно установить атрибуты защиты на выделения ячеек листа? Мне нужно защитить сформированный отчет от редактирования и копирования юзером!
установил защиту листа:
Код

WorkSh.Protect('111',true, true, False, EmptyParam, true, true, true, false, false, True,
                          false, false, True, True, True);
{Password := '111',
    DrawingObjects := False, Contents := True, Scenarios := False,
    AllowFormattingCells := true, AllowFormattingColumns := true,
    AllowFormattingRows := true, AllowInsertingColumns:=false,
    AllowInsertingRows := false, AllowInsertingHyperlinks := True,
    AllowDeletingColumns := false, AllowDeletingRows := false,
    AllowSorting := True, AllowFiltering := True, AllowUsingPivotTables := True}


Всё замечательно, ничего не добавляется, ничего не удаляется, но юзер может выделить всё и скопировать на новый лист и пошло поехало!
Как быть?

Заранее спасибо!


Нашел способ запрета выделения 
Код

WorkSh.EnableSelection := xlNoSelection;


Но если пересохранить документ, то тогда все установленные атрибуты (запреты) не наследуются на новый документ. 
Эти запреты как нить можно наследовать на копии этого документа?

Это сообщение отредактировал(а) ADAM83 - 29.5.2009, 09:07
PM MAIL   Вверх
Vas
Дата 29.5.2009, 12:24 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: 23
Всего: 28



А может для этого отчета, какой нибудь отчетник использовать QuickReport, FastReport.... И  в них просто отключить экспорт данных и все


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
ADAM83
Дата 29.5.2009, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 13.1.2006

Репутация: нет
Всего: нет



Vas, конечно можно было бы.
Но там же такой гемор, практически всё придется ручками рисовать.

Тут мне один чел идею подкинул, сформировать отчет в XML и показывать итог вебброузером.
Как Вам идея? Но я незнаком с XML-ом, как быть? 
PM MAIL   Вверх
Vas
Дата 29.5.2009, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: 23
Всего: 28



Цитата(ADAM83 @  29.5.2009,  12:32 Найти цитируемый пост)
Тут мне один чел идею подкинул, сформировать отчет в XML и показывать итог вебброузером.

Так же в браузере выделят и скопируют куда надо. Вам в виде pdf показать будет надежнее.


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
ADAM83
Дата 29.5.2009, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 13.1.2006

Репутация: нет
Всего: нет



Vas, 
Цитата

Вам в виде pdf показать будет надежнее.


для меня это тоже что-то новое. Ну тогда я должен проверять, установлен ли у юзверя "pdf-reader (какой-то)" или нет?
PM MAIL   Вверх
Frees
Дата 29.5.2009, 13:24 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 23
Всего: 54



Цитата(Vas @  29.5.2009,  14:24 Найти цитируемый пост)
А может для этого отчета, какой нибудь отчетник использовать QuickReport, FastReport.... И  в них просто отключить экспорт данных и все




Цитата(Vas @  29.5.2009,  14:43 Найти цитируемый пост)
Вам в виде pdf показать будет надежнее.


распознается на раз все


все что ты видиш на мониторе скрыть нельзя

даже можно не пытаться



--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
ADAM83
Дата 29.5.2009, 13:27 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 13.1.2006

Репутация: нет
Всего: нет



Цитата

А может для этого отчета, какой нибудь отчетник использовать QuickReport, FastReport.... 


конечно можно использовать какой-то генератор отчетов, но там же такой гемор рисовать ручками.
PM MAIL   Вверх
Akella
Дата 29.5.2009, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



ADAM83, тебе же сказали, забудь про защиту smile 

Цитата(Frees @  29.5.2009,  13:24 Найти цитируемый пост)
распознается на раз все


все что ты видиш на мониторе скрыть нельзя

даже можно не пытаться


Добавлено через 1 минуту и 19 секунд
Если нужно, то сделай сильную на сколько сможешь.... типа "защита от дурака", ну типа от неопытного пользователя. А более-менее опытный пользователь или сам найдёт выход или ему подскажут опытные.

Добавлено через 2 минуты и 40 секунд
Рисуй отчёт на канве smile , на форме, так же и распечатывай...  smile

Добавлено через 3 минуты и 39 секунд
Цитата(ADAM83 @  29.5.2009,  08:46 Найти цитируемый пост)
Но если пересохранить документ, 

Запрети пересохранение...
PM MAIL   Вверх
ADAM83
Дата 1.6.2009, 08:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 13.1.2006

Репутация: нет
Всего: нет



Цитата

Запрети пересохранение... 

а как запретить пересохранение?

Цитата

Рисуй отчёт на канве smile , на форме, так же и распечатывай...  smile

а этот процесс не долгий будет, я просто никогда не рисовал на форме
PM MAIL   Вверх
Frees
Дата 1.6.2009, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 23
Всего: 54



Цитата(ADAM83 @  1.6.2009,  10:16 Найти цитируемый пост)
а этот процесс не долгий будет, я просто никогда не рисовал на форме

да хоть где рисуй 

можно сделать скриншот того че ты нарисовал и распазнать

а если будет печать то можно распечатать виртуальным принтером получится pdf а пдф уже распознать 

не стоит эта защита того времени которое ты на нее потратиш 

лучше защитится по другому

НИГДЕ не выводить всю информацию сразу а только логическими небольшими блоками, если это возможно
тогда чтобы забрать всю информацию надо будет нажимать много кнопок



--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
ADAM83
Дата 1.6.2009, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 13.1.2006

Репутация: нет
Всего: нет



Цитата

тогда чтобы забрать всю информацию надо будет нажимать много кнопок


Frees, че то я не пойму твою идею  smile 

Цитата

а если будет печать то можно распечатать виртуальным принтером получится pdf а пдф уже распознать 

а что, если отчет не выводить на экран, а сразу отправить на печать, и  если у юзера стоит виртуальный принтер, то отчет откроется пдф-reader-ом?



Сделал так: программно сформировал отчет (Excel), и до показа на экран отчета указываю запреты на удаления, добавления строк/столбцов и тд. Создается новый экземпляр Excel-файла (нигде не сохраняю) и установленные атрибуты (запреты) действуют. А если сохранить документ, то все установленные запреты сбрасываются.  
Что посоветуете?
PM MAIL   Вверх
Akella
Дата 1.6.2009, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(ADAM83 @  1.6.2009,  11:36 Найти цитируемый пост)
Frees, че то я не пойму твою идею  smile 

Ну выведи часть записей, потом, чтобы просмотреть остальную часть, нужно опять нажать кнопку и т.д.

А если есть связанные данные, то выводи главные записи, а чтобы посмотреть подчинённые записи, нужно будет кнопки наживать и т.д.
PM MAIL   Вверх
ADAM83
Дата 1.6.2009, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 13.1.2006

Репутация: нет
Всего: нет



Цитата

Цитата(ADAM83 @  1.6.2009,  11:36 Найти цитируемый пост)
Frees, че то я не пойму твою идею  smile 

Ну выведи часть записей, потом, чтобы просмотреть остальную часть, нужно опять нажать кнопку и т.д.

А если есть связанные данные, то выводи главные записи, а чтобы посмотреть подчинённые записи, нужно будет кнопки наживать и т.д.

а это не поможет, суть то в том, что юзвер заполняет данные, распечатывает отчет и в бумажном виде приносит к нам. И мне нужно проконтролировать чтоб он ничего не исправлял в отчете до распечатки.  
PM MAIL   Вверх
Frees
Дата 1.6.2009, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 23
Всего: 54



может про цифровые подписи как то подумать

Добавлено через 8 минут и 20 секунд
Цитата(ADAM83 @  1.6.2009,  13:58 Найти цитируемый пост)
 распечатывает отчет и в бумажном виде приносит к нам

а почему именно в бумажном, почему не на флешке? файл на флешке можно уже защитить


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
ADAM83
Дата 1.6.2009, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 13.1.2006

Репутация: нет
Всего: нет



Цитата

а почему именно в бумажном, почему не на флешке?

Frees, ну такая уж у нас технология, никуда не деться, еще и руководство так хочет!

Цитата

может про цифровые подписи как то подумать

ну... немножко туманно, но слышал насчет цифровой подписи.

А что скажете насчет этого:
Цитата

Сделал так: программно сформировал отчет (Excel), и до показа на экран отчета указываю запреты на удаления, добавления строк/столбцов и тд. Создается новый экземпляр Excel-файла (нигде не сохраняю) и установленные атрибуты (запреты) действуют. А если сохранить документ, то все установленные запреты сбрасываются.  
Что посоветуете? 
 

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0578 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.