Редактировать формы Excel только - PullRequest
0 голосов
/ 21 января 2010

У меня есть эти листы Excel + часть vba с 3 формами, которые взаимодействуют с листами (чтение / запись данных, экспорт в xml и т. Д.).

У меня есть некоторая проверка данных в коде моих форм, поэтому я хотел бы иметь возможность изменять значения в листе только через формы, а не через непосредственное редактирование на листе. Это возможно?

Когда я блокирую ячейки, которые хочу защитить, формы больше не могут изменять ячейки либо ... другими словами, есть ли способ предотвратить редактирование, кроме как через макросы / формы?

Я использую Excel2007 и, возможно, придется сделать его совместимым с Excel2003.

Ответы [ 2 ]

0 голосов
/ 21 января 2010

Доступен ли Microsoft Office Infopath для вас и ваших пользователей в качестве альтернативы Excel?

Это, в частности, приложение «форм», с проверкой данных и собственным форматом хранения данных XML, поэтому другие приложения могут легко их обрабатывать. Вы можете использовать свою собственную схему, если хотите. Из вашего описания это звучит как то, что вы хотите достичь.

К сожалению, формы Infopath 2007 не являются кросс-совместимыми с Infopath 2003, поэтому офис со смешанной версией (например, мой) может показывать себя лучше.

0 голосов
/ 21 января 2010

Может быть, вы можете разблокировать ячейки кода непосредственно перед их изменением, а затем снова заблокировать их после? Не очень элегантно, я знаю. Может быть, вы могли бы также скрыть лист от пользователя. Я уверен, что нет идеальной защиты, потому что в конечном итоге пользователь может отключить VBA / Macros. Вопрос в том, насколько сильно вы хотите защитить данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...