Запрещение кому-либо воссоздавать защищенный лист (Microsoft Excel)
Джек создает рабочие листы, которые он пересылает другим членам своей группы, чтобы они могли вводить информацию, а затем возвращает лист ему. Он защищает рабочие листы, но его несколько раз сжигали пользователи, которые использовали копирование и вставку, чтобы полностью воссоздать рабочий лист. Проверка всего, чтобы убедиться, что возвращенные рабочие листы являются оригиналами, занимает очень много времени, поэтому Джек ищет способ убрать возможность копировать и вставлять рабочие листы.
Отключить копирование и вставку теоретически достаточно просто. Все, что вам нужно сделать, это использовать короткий макрос, как показано ниже, в объекте ThisWorkbook:
Private Sub Worksheet_Deactivate() If ActiveSheet.ProtectContents = True Then Application.CutCopyMode = False End If End Sub
Использование этого макроса по существу очищает буфер обмена каждый раз, когда кто-то деактивирует рабочий лист, выбирая другой рабочий лист или другое приложение.
Конечно, это предлагает только самую элементарную защиту. Определенный пользователь все еще может скопировать рабочий лист с помощью Правка | Переместите или скопируйте лист, или они могут отключить макросы при запуске книги и тем самым отключить процедуру очистки буфера обмена.
Возможно, лучший способ — посмотреть, как ведется бизнес в организации. Если вы не хотите, чтобы люди копировали лист, сообщите им заранее и убедитесь, что они знают, что вы не примете никаких дубликатов.
Есть очень простые способы проверить, не является ли полученный вами дубликат. Вот некоторые из них:
-
Поместите формулу в ячейку, а затем скройте содержимое ячейки во время процесса защиты. Если вы вернули рабочий лист, сняли защиту с рабочего листа, а формулы там нет, рабочий лист будет копией.
-
Защитите рабочий лист с помощью пароля. Если вы не можете позже снять защиту листа с тем же паролем, вы знаете, что кто-то другой скопировал лист и использовал свой собственный пароль.
-
Используйте на листе скрытые формулы для доступа к данным на скрытом листе. Если пользователь копирует рабочий лист, скрытый рабочий лист не копируется в новую книгу, поэтому формулы не дадут правильных ответов.
-
Вставьте макромодуль в книгу, а затем защитите модуль. Модулю не нужно ничего делать, но если в книге, которую вы возвращаете, нет защищенного модуля, это копия.
-
Добавьте что-нибудь в область настраиваемых свойств книги. Если настраиваемого свойства нет в возвращаемой книге, велика вероятность, что книга не является оригинальной.
Еще одна вещь, которую следует попробовать, — установить для свойства защиты ячейки значение Скрытый, прежде чем защищать ваш рабочий лист паролем. Пользователи могут видеть результаты того, что находится в ячейках, но не могут видеть формулы. Если они скопируют и вставят содержимое в другое место, формулы не будут перенесены, только результаты. Это очень легко заметить в возвращенной книге.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (3322) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:
link: / excelribbon-Preventing_Someone_from_Recreating_a_Protected_Worksheet [Предотвращение кем-либо воссоздания защищенного рабочего листа]
.