|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
Добрый день. Необходимо запретить пользователям производить любые изменения в создаваемой программой книге Excel, а также копировать из неё ячейки в другие книги, чтобы затем их вручную изменить. Сейчас сделано так (последовательность шагов в программе): 1. Книга Защищается паролем (формируется "случайным" образом вместе с книгой). Защита структуры=Да, Окон=Нет 2. Для каждого листа запрещается выделение (EnableSelection=xlNoSelection) 3. Лист защищается также (DrawingObjects=True, Сontents=True, Scenarios=True) 4. Книга сохраняется Однако пользователь может после всего этого зайти в редактор VBA и выполнить макрос из одной строчки: Worksheets(1).EnableSelection = xlNoRestrictions, после чего он может копировать всё содержимое куда угодно и менять на свой вкус (что собственно и проделывается). Подскажите, как можно надёжно запретить копирование ячеек? А ещё лучше - запретить любой доступ к книге при помощи макроса (т.к. макросом можно скопировать ячейки в др книгу также). Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2011, 12:11 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
Поставить пароль на VBA - не вариант? Можно спец. утилитами зашифровать код, книгу, перевести код в надстройку. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2011, 14:01 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
Рядом с Вашей тема http://www.sql.ru/forum/actualthread.aspx?tid=887826 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2011, 14:02 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
Код формирования печатной формы находится во внешнем приложении, и он даже не на vba. Однако пользователь не должен иметь возможность менять печатную форму, к-я выводится в Эксель. Процесс самостоятельного создания аналога полученной программным путём печатной формы (т.е. создание формы вручную) должен быть максимально затруднён. Для этого книга и каждый лист защищены от изменений, а также с листа запрещено копирование. Но пользователи создают макрос vba и разрешают копирование ячеек, после чего копируют их в свой файл, где могут изменять информацию по своему усмотрению. Печатная форма и информация в БД начинают различаться. Печатную форму все подписывают в уверенности, что в БД то же самое, а это не так. Можно ли сделать так, чтобы пользователь не мог скопировать из листа ячейки в др. книгу при помощи макроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2011, 14:19 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
> Автор: DesertBrowser > ... Печатную форму все подписывают в уверенности, что в БД то же самое, а это не так. Сделать отчет в специальном ПО, например FastReport(первое что пришло в голову) в котором нет возможности что-то менять. Сделать отдельный интерфейс(программу на любом доступном языке програмирования) для подписи и уйти от подписывания бумажной формы. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2011, 14:34 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
>>Сделать отчет в специальном ПО, например FastReport(первое что пришло в голову) в котором нет возможности что-то менять. Сделать отдельный интерфейс(программу на любом доступном языке програмирования) для подписи и уйти от подписывания бумажной формы. Вариант сделать отчёт в редакторе, отличном от Эксель, есть, но в силу того, что форма уже реализована, переписывать её очень бы не хотелось. Отмечу, что вариант с Экселем был реализован после обнаружения возможности запретить копирование. А то, что его так просто отключить, не рассчитывала. Электронное подписывание реализуется в настоящий момент, но в силу особенностей бизнес-процесса печатная форма также остаётся. Понятно, что раз информация хранится в 2 местах, есть вероятность отличий. ps Пользователи также довольно часто пересылают друг другу эти формы по электронной почте, чтобы не входить в основную программу и не формировать их оттуда. Может, стоит посмотреть в сторону сохранения сформированных диапазонов Эксель как картинки (из картинки нельзя скопировать ячейки) или преобразования в pdf-формат? В случае с картинкой минус то, что она может занимать несколько страниц - непонятно, как выводить на печать А для преобразования в pdf нужно иметь специальное ПО ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2011, 14:54 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
>>В случае с картинкой минус то, что она может занимать несколько страниц - непонятно, как выводить на печать Эксперимент по копированию диапазона, вставке в Ворд в виде картинки и обратно в Эксель уже картинки диапазона можно считать успешным. Т.е. в целом на каждом листе можно заменить содержимое ячеек их картинкой. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2011, 14:59 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
DesertBrowser, вообще снести эксель у всех, как рудимент ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2011, 16:15 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
Я так понимаю что большинство правок касается либо несоотввия реквизитов клиентов в счетах, либо просьб клиентов изменить описание продаваемого товара под предлогом дескать "наша бухгалтеря такой товар не примет" так надо разрешить править описание товара в основном ПО, при этом в базе сохраняя как оригинальное описание так и исправленное ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2011, 16:20 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
DesertBrowser>>В случае с картинкой минус то, что она может занимать несколько страниц - непонятно, как выводить на печать Эксперимент по копированию диапазона, вставке в Ворд в виде картинки и обратно в Эксель уже картинки диапазона можно считать успешным. Т.е. в целом на каждом листе можно заменить содержимое ячеек их картинкой. Так не проще ли в данном случае просто печатать отчет в pdf? Быстро, дешево, сердито. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2011, 19:02 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
Taranaga, при желании можно и pdf "переpdfить" ;))) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2011, 21:45 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
авторЯ так понимаю что большинство правок касается либо несоотввия реквизитов клиентов в счетах, либо просьб клиентов изменить описание продаваемого товара под предлогом дескать "наша бухгалтеря такой товар не примет" так надо разрешить править описание товара в основном ПО, при этом в базе сохраняя как оригинальное описание так и исправленное Сразу оговорюсь, что речь не о счетах и отгрузочных документах, а о нормах расхода материалов. Необходимость правки печатной формы возникает в 2 случаях: 1. из-за неверных действий других пользователей на шагах, предшествующих созданию нормы (настройка номенклатурных единиц, ТЗ на разработку норм, из к-го она создаётся и т.п.) печатная форма не соответствует представлениям о том, какой она должна быть. Откатывать всю цепочку действий сложно (хотя и правильно с точки зрения устранения бардака) 2. из-за неверных действий самого пользователя (внёс неправильно какие-либо реквизиты), если они уже зафиксированы в системе (например, путём электронного утверждения либо созданием каких-либо производных документов). В обоих случаях причиной коррекции являются неправильные данные в системе. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 09:54 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
> Автор: DesertBrowser > Необходимость правки печатной формы возникает в 2 случаях: > ... > В обоих случаях причиной коррекции являются неправильные данные в системе. Так неправильные данные, в результате, исправляются на правильные в самой системе или все ограничивается печатными формами. И при следующей печати исправляются руками снова? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 10:08 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
авторТак неправильные данные, в результате, исправляются на правильные в самой системе или все ограничивается печатными формами. И при следующей печати исправляются руками снова? Т.к. печатная форма формируется как правило однократно, пользователю проще исправить данные в распечатке, а не в системе - т.к. чтобы исправить в системе, нужно другим людям звонить, ждать пока те скорректируют свои ошибки и т.д. А то, что потом оставшиеся в системе неправильные данные пойдут в работу другим пользователям, исправляющего распечатку уже не волнует, т.к. не его зона ответственности ("программа неправильно напечатала", "а у нас был сбой в системе" и т.п.) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 10:34 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
DesertBrowser, Как то неправильно у Вас организовано :( , если пользователи ручками набирают данные, то ли с печатного документа, до ли с файла. При такой организации движения данных ошибки были, есть, и будут. Прежде всего задумайтесь над правильной системой движения данных. Не ну можно и руки отрубать сотрудникам, будет менее затратно и эффективно. :d ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 10:52 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
авторКак то неправильно у Вас организовано :( , если пользователи ручками набирают данные, то ли с печатного документа, до ли с файла. При такой организации движения данных ошибки были, есть, и будут. Нет конечно, с файла печатной формы никто ничего не набирает. Печатную форму могут подписать с одними данными (исправленными в Экселе), а в системе останутся другие (неисправленные). ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 10:57 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
> Автор: R Dmitry +100500 Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 10:57 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
> Автор: DesertBrowser Кстати, что-бы пользователи не пересылали по почте распечатки, может сделать какую-то веб-морду в которой будет по выбору параметров показыватся эта печатная форма в виде html и печататся оттуда. И сделать её доступной всем заинтересованным. Тогда отпадет необходимость пересылки этих печатных форм. И всегда будет актуальная информация. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 11:00 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
авторКстати, что-бы пользователи не пересылали по почте распечатки, может сделать какую-то веб-морду в которой будет по выбору параметров показыватся эта печатная форма в виде html и печататся оттуда. И сделать её доступной всем заинтересованным. Тогда отпадет необходимость пересылки этих печатных форм. И всегда будет актуальная информация. И сейчас могут распечатать из системы. И без распечатки посмотреть. Вопрос - как сделать так, чтобы в случае, когда в систему внесены неправильные данные, это всё исправлялось в системе, а не в печатной форме? Повторюсь, что печатную форму убрать нельзя, она в любом случае должна быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 11:25 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
> Автор: DesertBrowser Я и не предлагаю убирать печатные формы. В них есть своя необходимость. Но я предлагаю ограничить возможность их использования. А насчет редактирования данных в системе - нужно _административно_ назначить ответственного, одного или нескольких, который будут отвечать за правильность вводимых данных. И в его обязаности должен входить контроль правильности данных. Можно ещё предложить переделать формирование данных на выбор из справочников и исключить ручной ввод. И за каждым справочником закреплён ответственный, который следит за актуальностью данных. И ввести ответственность за не правильный выбор из справочников. Вам на месте виднее, т.к. я не знаю вашей специфики. Но все связано с _административными_ ограничениями, Вам нужно перестраивать работу. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 12:19 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
авторЯ и не предлагаю убирать печатные формы. В них есть своя необходимость. Но я предлагаю ограничить возможность их использования. Я об этом и говорю - смотреть в системе пользователи могут, но не делают этого - т.к. те, кто формы печатают, их вручную правят. И то, что автоматом формирует система, отличается от печатного варианта, т.к. он корректировался. Или же я не поняла Вашу мысль. авторА насчет редактирования данных в системе - нужно _административно_ назначить ответственного, одного или нескольких, который будут отвечать за правильность вводимых данных. И в его обязаности должен входить контроль правильности данных. так и есть - за формирование норм и распечатку печатной формы отвечают несколько человек. Это им вменено в обязанности. Вот только как и кому и когда проверять, исполняют ли они свои обязанности по контролю правильности данных? Предпочтительнее запретить исправления в печатной форме. Не держать же дополнительную единицу для сверки печатных форм и данных в системе. авторМожно ещё предложить переделать формирование данных на выбор из справочников и исключить ручной ввод. И за каждым справочником закреплён ответственный, который следит за актуальностью данных. И ввести ответственность за не правильный выбор из справочников. Вам на месте виднее, т.к. я не знаю вашей специфики. Но все связано с _административными_ ограничениями, Вам нужно перестраивать работу. Так и организовано, перестраивать нечего. Выше я писала, что как раз из-за того, что исправления_в_системе делаются несколькими сотрудниками (каждым в своём справочнике), внести их дольше и сложнее, чем одному пользователю поправить в печатной форме. Т.е. Иванову проще подправить данные в листе Экселя, чем звонить Петрову 10 раз и говорить: "Петров, исправь пожалуйста побыстрее в своём справочнике, мне надо норму распечатать", а потом спрашивать "Петров, ты исправил? А когда исправишь?" А ещё Петров может ошибиться и внести не то, что нужно и т.д. И как раз для того, чтобы пользователи всё-таки звонили друг другу и просили исправить данные в системе, я и пытаюсьусложнить им процесс исправления в Экселе. Т.е. если сделать так, что печатную форму нельзя исправить, они вынуждены будут вносить исправления в систему, т.к. только после исправлений в системе получат то, что им нужно - контроль за правильностью данных в таком случае автоматом перемещается на самих пользователей, а не ложится на сторонних проверяющих. Или я в чём-то ошибаюсь? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 13:28 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
> Автор: DesertBrowser > Я об этом и говорю - смотреть в системе пользователи могут, но не делают этого - т.к. те, кто формы печатают, их > вручную правят. И то, что автоматом формирует система, отличается от печатного варианта, т.к. он корректировался. Или > же я не поняла Вашу мысль. Понятно. Есть функционал, но им никто не пользуется, т.к. он выдает недостоверную информацию :) > так и есть - за формирование норм и распечатку печатной формы отвечают несколько человек. Это им вменено в > обязанности. Вот только как и кому и когда проверять, исполняют ли они свои обязанности по контролю правильности > данных? Тогда почему у тебя болит голова о некоректности? При печати формы фиксировать _КТО_ из ответственных распечатал и если всплывают разногласия с данными в программе - виноват тот, кто распечатал. И спрашивать с него - почему он допустил распечатку некорректной информации, а не исправил! > Предпочтительнее запретить исправления в печатной форме. Не держать же дополнительную единицу для сверки печатных > форм и данных в системе. Тогда нужно отказатся от Екселя, переходи на специализированный отчетник, который данные только показывает и печатает, а менять не дает. > Так и организовано, перестраивать нечего. Выше я писала, что как раз из-за того, что исправления_в_системе > делаются несколькими сотрудниками (каждым в своём справочнике), внести их дольше и сложнее, чем одному пользователю > поправить в печатной форме. Т.е. Иванову проще подправить данные в листе Экселя, чем звонить Петрову 10 раз и > говорить: "Петров, исправь пожалуйста побыстрее в своём справочнике, мне надо норму распечатать", а потом спрашивать > "Петров, ты исправил? А когда исправишь?" А ещё Петров может ошибиться и внести не то, что нужно и т.д. А при составлении нормы - кто смотрит за правильностью вводимых данных? Почему факт необходимости исправления всплывает в последную минуту? Почему нет ответственного за введённую норму, которую, внезапно , нужно редактировать? > И как раз для того, чтобы пользователи всё-таки звонили друг другу и просили исправить данные в системе, я и > пытаюсьусложнить им процесс исправления в Экселе. Т.е. если сделать так, что печатную форму нельзя исправить, они > вынуждены будут вносить исправления в систему, т.к. только после исправлений в системе получат то, что им нужно - > контроль за правильностью данных в таком случае автоматом перемещается на самих пользователей, а не ложится на > сторонних проверяющих. Или я в чём-то ошибаюсь? Да, ты пытаешся исправить последствия. Нужно исправлять причину появления такой ситуации. А причина в неконтролируемом составлении норм. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 13:56 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
авторПочему факт необходимости исправления всплывает в последную минуту? Да, ты пытаешся исправить последствия. Нужно исправлять причину появления такой ситуации. А причина в ... Да, причина скорее всего в том, что некогда исправлять данные в системе. Неконтролируемость создания документов зачастую и в непонимании, что и на что влияет и к кому обращаться для исправления. Разбираться также не хотят из-за того, что некогда. Но пока есть возможность исправлять печатную форму и ошибки не всплывут, проблема и не обозначится. Т.е. другими словами, хотя проблема возникла извне системы, для системы есть контрольная точка (тот самый внезапный момент) - это момент распечатки. А вообще получается интересный парадокс. Автоматизация делается для увеличения производительности труда. Но в её отсутствие многие действия не делаются вообще (например, подписанную печатную форму - листок бумаги - запросто можно подправить, никого из подписавших не уведомляя). Поэтому после автоматизации процесс может и замедлиться (нужно всю комиссию уведомлять, заново подписывать и т.п.) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 14:34 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
МОи 2 коп. Похоже, что такова традиция руководства в компании, когда наверху дают право на ошибку низам. Мне приходилось работать в подобных. Не скажу, что это однозначно плох или хорошоо, меня устраивало - никто не стоит с дубинкой, есть возможность для некоторого творчества не в ущерб процессу. Неудобно это было, когда низы действительно не задумываются о других участниках поцесса, а для ответственных сотрудников вполне неплохо. Побочные эффекты выше немного описаны. А когда жёстко каждому написаны функции, чуть нестыковка - все дружно как тараканы по углам разбегаются по зонам ответственности. Вспоминаю М.Жван-кого: К пугвицам претензии есть? подкладка пришита хорошо? ... А за костюм в целом никто не отвечает. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 15:15 |
|
Запрет копирования ячеек - оказывается, запрет обойти легко!
|
|||
---|---|---|---|
#18+
> Автор: DesertBrowser > Да, причина скорее всего в том, что некогда исправлять данные в системе. Неконтролируемость создания документов > зачастую и в непонимании, что и на что влияет и к кому обращаться для исправления. Разбираться также не хотят из-за > того, что некогда. Но пока есть возможность исправлять печатную форму и ошибки не всплывут, проблема и не обозначится. > Т.е. другими словами, хотя проблема возникла извне системы, для системы есть контрольная точка (тот самый внезапный > момент) - это момент распечатки. Есть ещё момент: у системы не хватает данных, для определения корректно выбранное значение или нет. Например: если выбрать страну, то городом можно выбрать только из списка городов этой страны Как вариант, можно попробовать сделать следующее: после того как твоя норма будет полностью сформированна( введены все данные) сразу формировать печатную форму, напримерпечатью в PDF и сохраняя в базу уже сам ПДФ. И при запросе выдавать его. Но при желании это тоже обходится. > А вообще получается интересный парадокс. Автоматизация делается для увеличения производительности труда. Но в её > отсутствие многие действия не делаются вообще (например, подписанную печатную форму - листок бумаги - запросто можно > подправить, никого из подписавших не уведомляя). Поэтому после автоматизации процесс может и замедлиться (нужно всю > комиссию уведомлять, заново подписывать и т.п.) Это потому, что автоматизация, подразумевает изменение самого бизнес-процесса, а не просто исключение хождения с бумажками для подписи. Почему-бы подписывающему и не распечатывать бумажку и сразу подписывать? Почему кто-то распечатывает, исправляет и несёт кому-то на подпись? Или почему подписывающий не открывает програму и не смотрит на электронный вариант того, что подписывает? У тебя получается, что крайних нет, поэтому бардак будет продолжатся. И запретом редактировать файл Екселя, ты не отделаешся. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 15:19 |
|
|
start [/forum/topic.php?fid=61&msg=37485098&tid=2174331]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
130ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 253ms |
0 / 0 |