1. > Я преподаватель, обучаю начальным азам информатики студентов
Для начального уровня знаний по информатики защита пары ячеек, которую предлагал KIM, выглядит адекватнее защиты с наворотами.
Если согласны с этим, то написанное ниже можно не читать.
2. > … студента нужно привязывать к раб. станции
Лучше к батарее, пока не сдаст :-)
Привязка по IP обходится: скопировать файл, в паре ячеек сымитировать редактирование (F2,Enter) и сохранить на текущем компе – IP и пропишется, не важно каким образом.
3. > У меня десять групп по 20 студентов в каждой
Поэтому возиться с фамилиями не оптимально. Пусть сами вписывают фамилию в какую-нибудь ячейку.
4. > …если бы еще запретить копирование из буфера обмена
Этого мало, без копирования, глядя на правильные ответы 2-й открытой книги, разве трудно вручную проставить те же ответы?
5. > … если найдутся умники взломать, то я увеличу сложность пароля
Пароли листа и книги Excel вскрываются одинаково легко при любой сложности пароля.
При этом находится не реальный пароль, а другой (их много), гораздо короче и проще. Парольная защита листов и книг Excel – для лояльных пользователей, или для того, чтобы нечаянно что-то не испортить. Но пароли на открытие файла – стойкие.
5. Как заинтриговать студентов взломом.
В начале занятия из одного шаблона книги с заданиями макросом автоматически создавать 20 копий с индивидуальными файловыми паролями, например ДАТА_ВРЕМЯ_НОМЕР с аналогичным именем файла ДАТА_ВРЕМЯ_НОМЕР.XLS
При этом скрыть окно книги аналогично меню Окно - Скрыть.
Все ячейки копий защитить, лист и книгу при автогенерации копий защитить каким-нибудь текущим паролем, например, имя файла наоборот.
Номер места один раз для всех компьютеров сохранить в персональной книге макросов PERSONAL.XLS там же хранить все макросы, упоминаемые здесь, в том числе, реагирующие на открытие и активацию книги.
Объяснить, что пароль при открытии файла нужно вводить по имени файла. А лучше в Excel добавить кнопку и макросом автоматически открывать файл с подстановкой пароля по имени файла, но только если номер места в имени файла совпадает с номером в PERSONAL.XLS
Если номер файла совпадет с номером в PERSONAL.XLS, то макросом автоматически отобразить окно книги и снимать защиту только активной ячейки листа, а остальные ячейки защищать.
Макросом очищать буфер обмена при активации книги.
Фамилии впишут сами в какую-нибудь ячейку.
На компьютере преподавателя макросом автоматически открывать файл с подстановкой пароля по имени файла.
В результате, если макросы будут отключены, то книгу не увидят.
Даже если отобразить окно книги, то ввод в защищенные ячейки будет заблокирован. Использование копий файлов предыдущей группы легко отслеживаются по имени и паролю файла. Копировать из другой книги без взлома будет невозможно. На взлом уйдет время, за взлом можно ставить зачет и освободить от дальнейших занятий.
Сам бы не взялся за такую реализацию – неадекватно, да и студентов жалко :-)