Время на прочтение
5 мин
Количество просмотров 25K
Всем привет! Я обычный пользователь MS Excel. Не являющийся профессиональным программистом, но накопивший достаточно опыта, для установки и обхода защиты проектов VBA.
Дисклеймер:
В данной статье рассмотрены виды защиты проектов VBA, от несанкционированного доступа. Их сильные и слабые стороны – ранжирование.
Цель статьи показать слабые и сильные стороны каждого вида защиты проекта VBA в MS Office.
Демонстрация разработанных инструментов, в надстройке Macro Tools VBA, для снятия и установки той или иной защиты.
Все инструменты реализованы стандартными средствами VBA, без использования дополнительных библиотек.
Главная панель Надстройки Macro Tools VBA
Первый вид защиты — Обычный пароль
Время на снятие: мгновенно
Недостаток: быстрый доступ к запароленному модулю VBA
Стандартный инструмент (В среде VBE: панель Tools -> VBAProject Properties -> Protection).
Самая легко снимающаяся защита. В интернете легко находится код, для снятия данной защиты.
Данную защиту можно снять следующим инструментом:
Второй вид защиты — Project is Unviewable
Время на снятие: от 10 до 15 мин (в ручную)
Недостаток: доступ к исходному коду модуля VBA
Один из самых распространённых видов защит. Встречается в 95% файлах с защитой модуля VBA. При попытке открыть проект, открывается диалоговое окно, с сообщением: Project is Unviewable.
Большинство пользователей Excel, не могут снять данную защиту, так как она имеет множество вариации и нюансов, для ее снятие нужно иметь представление о внутренней структуре файла Excel.
Основан, данный вид защиты, на изменение ключей:
CMG=«4A488FCC54D054D054D054D0»
DPB=«0B09CE0F8E108E108E»
GC=«CCCE09520B120C120CED»
в файле vbaProject.bin
.
Кратко, как создается данная защита
Для создания данной защиты нужно, разархивировать файл Excel. Перейти в архиве в папку xl, открыть файл vbaProject.bin, в конце файла находятся наши ключи, редактируем значения ключей на пусто, сохраняем файл. Переводим наш архив, обратно в файл Excel. Готово!
Это самый простой вариант данной защиты, но существует множество модификаций.
Алгоритм снятия защиты Project is Unviewable.
1) Разархивируем подопытный файл, переходим в файл …xl_relsworkbook.xml.rels
2) В файле workbook.xml.rels ищем строку, содержащую слово vbaProject, обычно имеет следующий вид: />. В этой строке нас интересует ключ Target,иего значение. Значение является название файла, в котором находится проект VBA. Иногда, защищающий меняет значения ключа на printerSettings.bin.Получается маскировка файла с проектом VBA под другой файл.
3) Открываем на редактирование файл, указанный в ключе Target, ищем в файле ключи CMG, DPB, GC. И меняем в их названиях любую букву на любую другую, например: CMC, DPC, CC. При поиске нужно быть аккуратным, так как защищающий может поместить в проект форму, подписью повторяющую один из ключей, например такую: DPB=«0B09CE0F8E108E108E». При ее изменении проект VBA, будет удален из книги Excel. Сохраняем и закрываем файл.
4) Переводим архив обратно в файл Excel.
5) Запускаем приложение Excel, выполняем следующее: в Центре управления безопасностью -> Параметры макросов -> Отключить все макросы без уведомления. Перезапускаем Excel. Данная операция нужна, для блокировки защиты, которую иногда ставят авторы макросов. Данная защита реализована следующим образом. В модуле VBA «ЭтаКнига», создается процедуры, реагирующие на события открытия книги или закрытия книги. Эти события обычно проверяют, наличие пароля на проект VBA, запрет сохранения и прочее.
6) Открываем файл. Если все правильно сделано то, Excel, будет ругаться на не правильные ключи, которые мы отредактировали, в пункте 3. Жмем, да, пока данные сообщения не закончатся и диалоговое окно закроется.
Если данное сообщение не появляется то, вы отредактировали не файл который содержит проект VBA.
7) Открываем проект VBA. После всего, проект VBA должен быть доступен.
Но иногда защита не снимается, тогда нужно сохранить файл, проверить, что он действительно сохранился! И проделать повторно операции с 1 по 7. Обычно так происходит когда в файле workbook.xml.rels в ключе Target установлено printerSettings.bin.При сохранение, Excel исправляет это на значение на vbaProject.bin
Данную защиту можно установить и снять следующим инструментом:
Третий вид защиты — Hidden Module, скрытые модули VBA
Время на снятие: от 15 до 20 мин (нужен редактор OLE — объектов, Structured Storage Viewer, например.
Недостаток: доступ к коду модуля VBA
Менее распространенный вид защиты обычно встречается в комбинации с защитой Project is Unviewable. При установке данной защиты модуль VBA не отображается в проекте книги Excel. О его существовании можно узнать, проанализировав код VBA (что требует время!) или открыть файл Excel в программе OpenOffice или LibreOffice (так же можно смотреть код при защите Project is Unviewable, но данный способ не дает возможность получить рабочий файл, без пароля).
Просмотр кода VBA в LibreOffice
Кратко, как создается данная защита
Для создания данной защиты нужно отредактировать файл с проектом VBA — vbaProject.bin или printerSettings.bin,в зависимости от настроек в файле …xl_relsworkbook.xml.rels. В конце файла удаляются строки вида: Module1=32, 32, 635, 330, Z. С нужными названиями модулей.
Для снятия данной защиты нужно в файле vbaProject.bin — восстановить удаленные записи модулей.
Данную защиту можно установить следующим инструментом.
Четвертый вид защиты — Обфускация кода
Время на снятие: неизвестно, зависит от объема кода и пере использования частей кода
Обфусцированный код VBA
Недостаток: необходимость тестирование файла после обфускации, на работоспособность
Крайне редкий вид защиты, основанный на изменении исходного кода VBA, в не удобочитаемый вид для человека. Удаляются все комментарии, форматирование кода, переименовываются названия всех переменных, процедур, функций, модулей и прочего. Злоумышленнику никогда не удастся восстановить первоначальный вид кода, и потребует достаточно много времени для, его восстановления в удобно читаемый вид для человека.
Для де-обфускации кода нужно иметь время, специализированное ПО.
Данную защиту можно установить следующим инструментом.
Пятый вид защиты — Перенос кода в dll
Время на снятие: неизвестно, зависит от языка программирования и квалификации
Недостаток: необходимости в дополнительном файле dll
Один из самых редких видов защиты. Основная идея перенос основного кода в отдельную библиотеку dll, написанную на любом другом языке программирования. Не распространённость данный вид защиты получил по следующей причине, необходимости за файлом Excel, «таскать» дополнительный файл, dll.
Для получения доступа к коду dll, нужно обладать специальными знаниями.
Заключение
В заключении хочу выделить бесполезность защит: Project is Unviewable и Hidden Module которые, по существу ни отчего не защищают. Позволяют просматривать код VBA, без изменения исходного файла, в таких программах как OpenOffice или LibreOffice. Так и снимаются без особых проблем.
It is a best practice, to protect the Macro (VBA Code) from other users to edit or view. In this article, we explain to create a simple macro and protect the same “VBA Project” using a password in Excel from other users.
Implementation:
Follow the below steps to protect your excel macro with a password:
Step 1: Open an excel file, to create a simple “hello world” macro.
Step 2: Press Alt + F11 – to open Visual Basic Editor.
Step 3: Click Insert >> Module, which will add a new module as in Img1.
Img 1
Step 4: Type the below code in “code window”.
Sub firstMacro() MsgBox "Hello World" End Sub
Step 5: Right-click “VBAProject (Book1)” and then click “VBAProject Properties”.
Step 6: GoTo Protection Tab >> Check “Lock project for viewing” and type your password in both Password and Confirm password input text boxes. Press “OK”
Step 7: Save your Excel workbook as Excel Macro-Enabled Workbook (*.xlsm) and close
Step 8: Now reopen your excel file. Press Alt+F8 – to open the Macro dialog box. Select the macro “firstMacro” and click “RUN”.
Step 9: Our macro will pop up below the message box. Close or press OK to hide the message box
Step 10: Press Alt + F11 – to open Visual Basic Editor. Now user cannot see any information in the VBA.
Step 11: Double click “VBAProject (vbaProtect.xlsm)”, It will ask the user to enter a password.
Step 12: Type your password and press “OK”. Now user can see all the excel objects and Macro.
At this point we have successfully created a macro in VBA and protected it with a password.
Правильная защита макросом
В большинстве случаев защита макросом, которую я встречаю во множестве проектов, выглядит следующим образом:
Worksheets("Лист1").Unprotect Password:="123" 'тут макрос делает действия Worksheets("Лист1").Protect Password:="123"
То есть автор файла вынужден ставить защиту от шаловливых ручек пользователей, но чтобы его макрос мог выполнить необходимые действия, ему приходится временно снимать ее и затем включать снова. Такая техника работает, но далека от совершенства. Во-первых, это неудобно и требует введения подобных конструкций в каждый ваш макрос. Во-вторых, если выполнение макроса прервется с ошибкой, то лист останется незащищенным.
Есть гораздо более легкий и красивый способ решить задачу.
Нажмите Alt+F11, чтобы попасть в редактор Visual Basic. Затем найдите в левом верхнем углу в окне Project Explorer (если его не видно, то нажмите Ctrl+R) модуль ЭтаКнига (ThisWorkbook) и откройте двойным щелчком:
Скопируйте туда этот код:
Private Sub Workbook_Open() 'включаем защиту первого листа для пользователя, но не макроса Worksheets("Лист1").Protect Password:="123", UserInterfaceOnly:=True 'второй лист защищаем аналогично, но с возможностью пользоваться группировкой Worksheets("Лист2").EnableOutlining = True Worksheets("Лист2").Protect Password:="555", UserInterfaceOnly:=True End Sub
Эта процедура будет автоматически запускаться при открытии файла и ставить защиту на заданные листы книги. Причем параметр UserInterfaceOnly, который мы дополнительно ввели, указывает Excel, что защита не должна распространяться на действия выполняемые макросом, а только на операции пользователя. Для второго листа все еще веселее — строка с параметром EnableOutlining разрешает пользоваться группировкой (символы плюс-минус для сворачивания-разворачивания строк и столбцов) на защищенном листе.
Всего три строчки кода, зато как удобно!
Ссылки по теме
- Что такое макросы и куда копировать их код
- Как поставить защиту листа, книги или всего файла
Код VBA, который вы пишете, является сердцем и душой вашей электронной таблицы. Защита кода VBA — это то, что нужно сделать, чтобы ваш код не был украден или использован без вашего ведома. В этом посте будут рассмотрены различные способы защиты вашего кода VBA, чтобы только ВЫ могли легко получить к нему доступ.
Почему вы должны заботиться о защите кода VBA?
VBA — это макроязык, который можно использовать для создания автоматических задач или действий в Excel, Word, PowerPoint. Есть несколько причин, по которым вы должны защищать свой код VBA:
- Чтобы защитить ваш код VBA от случайного изменения. Код VBA — мощный инструмент для пользователей Excel, но он также может стать источником разочарования для тех, кто им не пользуется. Если вы не защитите VBA паролем, тогда другие, использующие вашу книгу, могут получить доступ к коду и внести в него изменения, не зная, что они на самом деле делают. Вы не хотите отлаживать свой код VBA, потому что это может быть болезненно — могут потребоваться часы, чтобы выяснить, почему, а затем еще больше времени!
- Для защиты вашей интеллектуальной собственности. Код VBA может быть очень ценным для некоторых компаний. Если кто-то другой получит доступ к вашей таблице и скопирует функциональность, которую вы используете, то он потенциально может выдать ее за свою работу и продать множеству компаний. Защитите свой ценный исходный код с помощью мер безопасности. Не позволяйте никому легко воровать или копировать.
- Чтобы защитить себя от людей, использующих вашу работу. Если у вас есть ценный фрагмент кода VBA, который упрощает или повышает эффективность вашей работы, вы можете защитить его только для личного использования.
Важно отметить, что существует несколько различных способов защиты кода VBA, но не все из них одинаково защищают ваш код. Вам решать, и что, по вашему мнению, лучше всего подходит для ваших нужд.
# 1 Защита паролем кода VBA в Excel с помощью инструмента VBAProject
В этой части объясняется, как вы можете использовать настройки защиты проекта VBA, чтобы защитить свой код VBA от посторонних глаз и несанкционированного доступа на определенном уровне.
- Уровень безопасности: слабый; Есть такие инструменты, как Средство удаления паролей VBA который можно использовать для разблокировки пароля за считанные минуты;
- Сложность: Легкая;
- Стоимость: бесплатно;
Шаг 1. Выберите «Visual Basic» в меню «Разработчик» в Excel.
Шаг 2. Чтобы заблокировать проект VBA, нажмите «Инструменты» на панели и выберите «Свойства VBAProject».
После нажатия на этот пункт меню вы должны увидеть следующее диалоговое окно:
Вкладка «Общие» выбрана по умолчанию, но щелкните вкладку «Защита».
Шаг 3. Установите флажок «Заблокировать проект для просмотра», затем дважды введите свой пароль в оба поля и нажмите «ОК».
Шаг 4. Сохраните его и снова откройте файл Excel. Вы сможете узнать, правильно ли включена защита паролем VBA, дважды щелкнув свой проект VBA. Когда вы защищаете свой проект VBA паролем, это предотвратит случайное изменение кем-либо.
# 2 Используйте обфускацию VBA для защиты макрокода
Обфускация VBA — это искусство сделать ваш код VBA нечитаемым, но все же работоспособным. Он изменяет ваши существующие макросы с помощью нескольких уровней обфускации, что затрудняет понимание основной логики. Усовершенствованные обфускаторы VBA используют ряд передовых методов обфускации, что значительно усложняет обратную трассировку и восстановление.
- Уровень безопасности: средний; Кто-то по-прежнему сможет найти время и потратить достаточно ресурсов на восстановление кода;
- Сложность: Средняя; В зависимости от уровня;
- Стоимость: Бесплатный обфускатор VBA/ Премиум;
Вы можете использовать обфускацию VBA в тандеме с техникой №1, которая заключается в том, чтобы сначала скрыть, а затем защитить модуль паролем. Помните, что обфускация необратима, поэтому сделайте резервную копию исходного файла, прежде чем продолжить. Также помните, что запутанный код не может гарантированно выполняться без ошибок. Пожалуйста, проверьте его перед выпуском. Используйте одну часть проекта для обфускации. После успешного выполнения первого теста на обфускацию модуля переходите ко второму.
# 3 Преобразование кода VBA в динамически подключаемую библиотеку (DLL)
Компиляторы, такие как Visual C ++ и Visual Basic, создают приложения, которые сложно взломать. Это связано с тем, что код компилируется в исполняемые файлы или файлы библиотеки динамической компоновки. Таким образом, мы также можем скомпилировать код VBA в файл библиотеки динамической компоновки, а затем использовать его в Excel.
- Уровень безопасности: высокий;
- Сложность: Средняя;
- Стоимость: бесплатно;
Этот метод защиты настоятельно рекомендуется, но он не гарантируется на 100%. Чтобы узнать, как компилировать, смотрите инструкции на VbaCompiler.com: 10 шагов для компиляции кода VBA в родную Windows DLL.
# 4 Конвертировать VBA в C или C ++
Перевод ваших макросов на C или C ++ сложнее реконструировать, чем VBA. Если вы хотите защитить свой код, это лучший способ.
- Уровень безопасности: Высший; Получить код без прав практически невозможно; Но опять же, это не 100% гарантия;
- Сложность: Сложный и трудоемкий; Поскольку VBA и C / C ++ — такие разные языки, это сложнее, поскольку вам придется вложить много усилий.
Заключение
Использование макросов — отличный способ упростить разработку расширенных функций. К сожалению, это подвергает ваш код риску быть украденным или скопированным другими. В статье обсуждаются методы, которые вы можете использовать для предотвращения кражи или подделки вашего кода VBA другими пользователями. Обратите внимание, что защита кода VBA не является пуленепробиваемой, но обеспечивает некоторую защиту от случайных злоумышленников.
Сусанна — контент-менеджер и писатель Filelem. Она много лет была опытным редактором и дизайнером макетов книг, и ей было интересно пробовать и тестировать различное программное обеспечение для повышения производительности. Она также является большой поклонницей Kindle, которая использует Kindle Touch почти 7 лет и носит Kindle практически везде, куда бы она ни пошла. Не так давно у устройства кончился срок службы, поэтому Сюзанна с радостью купила Kindle Oasis.
Защитить проект VBA
Зачастую, при создании проекта на VBA в Excel, хочется его надежно защитить (особенно, если он какой-то крупный). В первую очередь, это нужно для того, чтобы никто не «украл» Ваши личные интеллектуальные разработки, либо для того, чтобы никто не мог внести какие-либо изменения в код. В данной статье как раз будет рассказано о некоторых способах, с помощью которых можно защитить проект VBA: от самых простейших, до более сложных.
Установка пароля на проект VBA
Первый и наиболее простой способ защитить проект VBA — стандартная установка пароля. Для установки пароля, в открытом редакторе VBA, необходимо нажать «Tools» — «VBA Project Properties» и перейти на вкладку «Protection», как показано на скриншоте ниже:
Далее, необходимо ввести пароль и подтвердить его. Если нужно закрыть проект от просмотра кода — установите галочку в поле «Lock project for viewing». И все, пароль установлен. Теперь, в следующий раз, когда вы зайдете в редактор VBA и попытаетесь открыть VBA-проект — необходимо будет ввести пароль:
Данный способ поможет защитить проект VBA только от простых пользователей: если очень захотеть, пароль можно легко взломать. Такая защита не является надежной.
Обфускация кода
Обфускация — это изменение (запутывание) кода программы с целью затруднения его восприятия и понимания. В случае с кодом VBA — удаление отступов, удаление комментариев и переименовывание переменных или даже самих процедур.
Например, имеется простейший код, который сравнивает две переменные и выводит сообщение:
Sub sravnenie() Dim a As Double Dim b As Double a = 50 'первая переменная b = 30 'вторая переменная If (a >= b) Then 'сравнение MsgBox a & " больше или равно " & b, "Сравнение" Else MsgBox a & " меньше " & b, "Сравнение" End If End Sub
После обфускации получится следующий код:
Sub q3294ac481200c9f62b6a7dac981cea19() Dim b17fea5c0191a5bc3c2640b8f16b14e98 As Double Dim ea06f6764676da2a53039a8c582369215 As Double b17fea5c0191a5bc3c2640b8f16b14e98 = 50 ea06f6764676da2a53039a8c582369215 = 30 If (b17fea5c0191a5bc3c2640b8f16b14e98 >= ea06f6764676da2a53039a8c582369215) Then MsgBox b17fea5c0191a5bc3c2640b8f16b14e98 & " больше или равно " & ea06f6764676da2a53039a8c582369215, "Сравнение" Else MsgBox b17fea5c0191a5bc3c2640b8f16b14e98 & " меньше " & ea06f6764676da2a53039a8c582369215, "Сравнение" End If End Sub
Да, разобраться в нем можно, времени уйдет на это чуть больше, но стоит отметить, что здесь всего лишь 11 строк кода. Если строк будет в разы больше, то разобраться будет очень проблематично, код будет максимально сложным для восприятия.
Для того, чтобы защитить проект VBA с помощью обфускации, можно воспользоваться готовыми инструментами:
- Сайт для обфускации кода VBA
- Инструмент для обфускации на Python
Обфускация — эффективный способ защиты VBA (и не только VBA). Его также можно использовать с первым способом: если пароль взломают, то с анализом и интерпретацией кода придется довольно долго потрудиться.
Важно! При обфускации кода проекта не забывайте делать резервную копию исходного кода, иначе, при внесении изменений в проект, придется работать с уже измененной версией, что будет довольно проблематично (а уж без комментариев, которые вы наверняка оставляли, тем более).
Изменение бинарного файла (Project is unviewable)
Еще один эффективный способ защитить проект VBA — небольшое изменение бинарного кода самого файла Excel. Что для этого нужно?
Сначала, необходимо сохранить исходный файл в формате .xlsb (рекомендуется именно этот формат), либо в формате .xlam, если это надстройка. После чего, необходимо сменить расширение файла на .zip и открыть его через архиватор (Winrar или 7-Zip). Затем, нужно зайти в папку «xl» и найти там файл vbaProject.bin. Файл необходимо куда-нибудь перенести/скопировать, например, на рабочий стол.
Далее, нужно открыть vbaProject.bin через текстовый редактор Notepad++ (именно через него, так как через стандартный блокнот не получится) и найти там строчки, содержащие «CMG», «DPB» и «GC» (они находятся почти в самом низу). Все символы, находящиеся в кавычках после них, необходимо заменить на символ «F», как это сделано на примере ниже:
Сохраняем файл vbaProject.bin, закрываем, переносим его обратно в архив в ту же папку «xl». Меняем обратно расширение с .zip на .xlsb или .xlam (в зависимости от того, в каком расширении файл был сохранен), и все, готово. Теперь, при попытке просмотреть/изменить модули нашего проекта, мы будем видеть сообщение «Project is unviewable»:
Данный способ поможет эффективнее защитить проект VBA от взлома более опытными пользователями. Но даже эту защиту можно взломать, если очень захотеть.
Важно! Не забудьте сделать резервную копию исходного файла, в противном случае, вы больше не сможете просматривать и редактировать свой код.
Создание надстройки .dll
Еще один из способов, с помощью которого можно защитить проект VBA — создание .dll надстройки. Про данный способ я расскажу вкратце, так как сам я .dll-надстройки не создавал. Суть заключается в том, что код ваших макросов вы пишете на другом языке программирования, например на C++, а затем компилируете его в .dll или .exe файл, который затем подключается к Excel. Исходный код из скомпилированного файла извлечь крайне трудно.
Интересную тему, с которой можно начать небольшое погружение в создание .dll-надстройки, можно прочитать на форуме PlanetaExcel.
Использование стороннего софта
В интернете продается различный софт для защиты проекта, в котором могут сочетаться все перечисленные выше функции: обфускация, изменение бинарного кода и еще какие-либо дополнительные настройки, ограничивающие доступ к исходному коду. Вот некоторых из них:
- XLS Padlock (139€)
- VBASH (80$)
- Unviewable+ (100$ и выше, в зависимости от лицензии)
- VbaCompiler (299$ стандартная лицензия) — создает .dll-файл (используется язык C)
Стоит отметить, что файлы, защищенные с помощью VBASH и самой дешевой версией Unviewable можно довольно быстро взломать. Вероятно, стоимость этого программного обеспечения «слегка» завышена и, возможно, следует пользоваться другими способами. А вот с помощью VbaCompiler защитить проект VBA можно очень надежно, так как он автоматически создает .dll-надстройку с использованием языка C. Но стоимость данного ПО довольно высокая.
Приобретать данный софт или нет — целиком и полностью ваше решение, но следует понимать, что вклад в защиту проекта должен быть финансово оправдан. Для защиты проекта от обычных пользователей достаточно использовать те методы, о которых я написал в этой статье. Нужно помнить о том, что не существует стопроцентной защиты от взлома: если человек реально захочет взломать ваш проект, он его взломает.
Старшие пользователи Excel всегда создают несколько кодов VBA для решения сложных проблем. Но иногда они хотят защитить код VBA от просмотра или уничтожения другими. Так же, как вы можете использовать пароль для защиты книг и рабочих листов, вы также можете установить пароль для защиты макросов в Excel.
Защитить или заблокировать код VBA в Excel
Защитить или заблокировать код VBA в Excel
Чтобы предотвратить отключение ваших кодов другими лицами, следующие шаги помогут вам установить пароль для защиты макросов.
1, нажмите Alt + F11 ключи, чтобы открыть существующий код, и в Окно Microsoft Visual Basic для приложений, нажмите Tools
> Свойства VBAProject, см. снимок экрана:
2. В VBAProject — Свойства проекта диалоговое окно, щелкните Protection вкладку, а затем проверьте Заблокировать проект для просмотра, наконец, введите и подтвердите пароль, который вы хотите защитить код в Пароль для просмотра свойств проекта раздел, см. снимок экрана:
3, Затем нажмите OK для выхода из диалогового окна и закрыть Окно Microsoft Visual Basic для приложений.
4. Сохраните книгу как Excel Macro-Enabled Workbook отформатируйте и закройте его, чтобы сработала защита паролем. В следующий раз, когда вы откроете эту книгу и попытаетесь просмотреть код, вам будет предложено ввести пароль для ввода кода. Смотрите скриншот:
Статьи по теме:
Как установить пароль для защиты книги?
Как защитить сразу несколько листов в Excel?
Как восстановить утерянный пароль защиты рабочего листа в Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (1)
Оценок пока нет. Оцените первым!
На чтение 2 мин Просмотров 193 Обновлено 20.12.2021
Рекомендуется защитить макрос (код VBA) от других пользователей для редактирования или просмотра. В этой статье мы объясним, как создать простой макрос и защитить тот же «проект VBA» с помощью пароля в Excel от других пользователей.
Выполнение:
Выполните следующие шаги, чтобы защитить свой макрос Excel паролем:
Шаг 1. Откройте файл Excel, чтобы создать простой макрос «hello world».
Шаг 2. Нажмите Alt + F11 -, чтобы открыть редактор Visual Basic.
Шаг 3 : Нажмите Insert >> Module, чтобы добавить новый модуль, как в Img1.
Шаг 4: Введите приведенный ниже код в «окно кода».
Sub firstMacro() MsgBox "Hello World" End Sub
Шаг 5: Щелкните правой кнопкой мыши «VBAProject (Book1)», а затем щелкните «Свойства VBAProject».
Шаг 6: Перейти на вкладку «Защита» >> Установите флажок » Заблокировать проект для просмотра » и введите свой пароль в текстовые поля » Пароль» и » Подтверждение пароля«. Нажмите «ОК».
Шаг 7. Сохраните книгу Excel как книгу Excel с поддержкой макросов (*.xlsm) и закройте.
Шаг 8: Теперь снова откройте файл Excel. Нажмите Alt + F8 -, чтобы открыть диалоговое окно «Макрос». Выберите макрос » firstMacro » и нажмите кнопку » ПУСК «.
Шаг 9: Наш макрос появится под окном сообщения. Закройте или нажмите ОК, чтобы скрыть окно сообщения.
Шаг 10: Нажмите Alt + F11 -, чтобы открыть редактор Visual Basic. Теперь пользователь не может видеть никакой информации в VBA.
Шаг 11: Дважды щелкните „VBAProject (vbaProtect.xlsm)“, он попросит пользователя ввести пароль.
Шаг 12: Введите свой пароль и нажмите » ОК «. Теперь пользователь может видеть все объекты Excel и макрос.
На данный момент мы успешно создали макрос в VBA и защитили его паролем.
Всем привет! Я обычный пользователь MS Excel. Не являющийся профессиональным программистом, но накопивший достаточно опыта, для установки и обхода защиты проектов VBA.
Дисклеймер:
В данной статье рассмотрены виды защиты проектов VBA, от несанкционированного доступа. Их сильные и слабые стороны – ранжирование.
Цель статьи показать слабые и сильные стороны каждого вида защиты проекта VBA в MS Office.
Демонстрация разработанных инструментов, в надстройке Macro Tools VBA, для снятия и установки той или иной защиты.
Все инструменты реализованы стандартными средствами VBA, без использования дополнительных библиотек.
Главная панель Надстройки Macro Tools VBA
Первый вид защиты — Обычный пароль
Время на снятие: мгновенно
Недостаток: быстрый доступ к запароленному модулю VBA
Стандартный инструмент (В среде VBE: панель Tools -> VBAProject Properties -> Protection).
Самая легко снимающаяся защита. В интернете легко находится код, для снятия данной защиты.
Данную защиту можно снять следующим инструментом:
Второй вид защиты — Project is Unviewable
Время на снятие: от 10 до 15 мин (в ручную)
Недостаток: доступ к исходному коду модуля VBA
Один из самых распространённых видов защит. Встречается в 95% файлах с защитой модуля VBA. При попытке открыть проект, открывается диалоговое окно, с сообщением: Project is Unviewable.
Большинство пользователей Excel, не могут снять данную защиту, так как она имеет множество вариации и нюансов, для ее снятие нужно иметь представление о внутренней структуре файла Excel.
Основан, данный вид защиты, на изменение ключей:
CMG=«4A488FCC54D054D054D054D0»
DPB=«0B09CE0F8E108E108E»
GC=«CCCE09520B120C120CED»
в файле vbaProject.bin
.
Кратко, как создается данная защита
Для создания данной защиты нужно, разархивировать файл Excel. Перейти в архиве в папку xl, открыть файл vbaProject.bin, в конце файла находятся наши ключи, редактируем значения ключей на пусто, сохраняем файл. Переводим наш архив, обратно в файл Excel. Готово!
Это самый простой вариант данной защиты, но существует множество модификаций.
Алгоритм снятия защиты Project is Unviewable.
1) Разархивируем подопытный файл, переходим в файл …xl_relsworkbook.xml.rels
2) В файле workbook.xml.rels ищем строку, содержащую слово vbaProject, обычно имеет следующий вид: />. В этой строке нас интересует ключ Target,иего значение. Значение является название файла, в котором находится проект VBA. Иногда, защищающий меняет значения ключа на printerSettings.bin.Получается маскировка файла с проектом VBA под другой файл.
3) Открываем на редактирование файл, указанный в ключе Target, ищем в файле ключи CMG, DPB, GC. И меняем в их названиях любую букву на любую другую, например: CMC, DPC, CC. При поиске нужно быть аккуратным, так как защищающий может поместить в проект форму, подписью повторяющую один из ключей, например такую: DPB=«0B09CE0F8E108E108E». При ее изменении проект VBA, будет удален из книги Excel. Сохраняем и закрываем файл.
4) Переводим архив обратно в файл Excel.
5) Запускаем приложение Excel, выполняем следующее: в Центре управления безопасностью -> Параметры макросов -> Отключить все макросы без уведомления. Перезапускаем Excel. Данная операция нужна, для блокировки защиты, которую иногда ставят авторы макросов. Данная защита реализована следующим образом. В модуле VBA «ЭтаКнига», создается процедуры, реагирующие на события открытия книги или закрытия книги. Эти события обычно проверяют, наличие пароля на проект VBA, запрет сохранения и прочее.
6) Открываем файл. Если все правильно сделано то, Excel, будет ругаться на не правильные ключи, которые мы отредактировали, в пункте 3. Жмем, да, пока данные сообщения не закончатся и диалоговое окно закроется.
Если данное сообщение не появляется то, вы отредактировали не файл который содержит проект VBA.
7) Открываем проект VBA. После всего, проект VBA должен быть доступен.
Но иногда защита не снимается, тогда нужно сохранить файл, проверить, что он действительно сохранился! И проделать повторно операции с 1 по 7. Обычно так происходит когда в файле workbook.xml.rels в ключе Target установлено printerSettings.bin.При сохранение, Excel исправляет это на значение на vbaProject.bin
Данную защиту можно установить и снять следующим инструментом:
Третий вид защиты — Hidden Module, скрытые модули VBA
Время на снятие: от 15 до 20 мин (нужен редактор OLE — объектов, Structured Storage Viewer, например.
Недостаток: доступ к коду модуля VBA
Менее распространенный вид защиты обычно встречается в комбинации с защитой Project is Unviewable. При установке данной защиты модуль VBA не отображается в проекте книги Excel. О его существовании можно узнать, проанализировав код VBA (что требует время!) или открыть файл Excel в программе OpenOffice или LibreOffice (так же можно смотреть код при защите Project is Unviewable, но данный способ не дает возможность получить рабочий файл, без пароля).
Просмотр кода VBA в LibreOffice
Кратко, как создается данная защита
Для создания данной защиты нужно отредактировать файл с проектом VBA — vbaProject.bin или printerSettings.bin,в зависимости от настроек в файле …xl_relsworkbook.xml.rels. В конце файла удаляются строки вида: Module1=32, 32, 635, 330, Z. С нужными названиями модулей.
Для снятия данной защиты нужно в файле vbaProject.bin — восстановить удаленные записи модулей.
Данную защиту можно установить следующим инструментом.
Четвертый вид защиты — Обфускация кода
Время на снятие: неизвестно, зависит от объема кода и пере использования частей кода
Обфусцированный код VBA
Недостаток: необходимость тестирование файла после обфускации, на работоспособность
Крайне редкий вид защиты, основанный на изменении исходного кода VBA, в не удобочитаемый вид для человека. Удаляются все комментарии, форматирование кода, переименовываются названия всех переменных, процедур, функций, модулей и прочего. Злоумышленнику никогда не удастся восстановить первоначальный вид кода, и потребует достаточно много времени для, его восстановления в удобно читаемый вид для человека.
Для де-обфускации кода нужно иметь время, специализированное ПО.
Данную защиту можно установить следующим инструментом.
Пятый вид защиты — Перенос кода в dll
Время на снятие: неизвестно, зависит от языка программирования и квалификации
Недостаток: необходимости в дополнительном файле dll
Один из самых редких видов защиты. Основная идея перенос основного кода в отдельную библиотеку dll, написанную на любом другом языке программирования. Не распространённость данный вид защиты получил по следующей причине, необходимости за файлом Excel, «таскать» дополнительный файл, dll.
Для получения доступа к коду dll, нужно обладать специальными знаниями.
Заключение
В заключении хочу выделить бесполезность защит: Project is Unviewable и Hidden Module которые, по существу ни отчего не защищают. Позволяют просматривать код VBA, без изменения исходного файла, в таких программах как OpenOffice или LibreOffice. Так и снимаются без особых проблем.
Защита ячеек в Excel от изменения и редактирования значений или форматов
Данные в Excel можно защищать от постороннего вмешательства. Это важно, потому что иногда вы тратите много времени и сил на создание сводной таблицы или объемного массива, а другой человек случайно или намеренно изменяет либо вовсе удаляет все ваши труды.
Рассмотрим способы защиты документа Excel и его отдельных элементов.
Защита ячейки Excel от изменения
Как поставить защиту на ячейку в Excel? По умолчанию все ячейки в Excel защищаемые. Это легко проверить: кликаем на любую ячейку правой кнопкой, выбираем ФОРМАТ ЯЧЕЕК – ЗАЩИТА. Видим, что галочка на пункте ЗАЩИЩАЕМАЯ ЯЧЕЙКА проставлена. Но это еще не значит, что они уже защищены от изменений.
Зачем нам эта информация? Дело в том, что в Excel нет такой функции, которая позволяет защитить отдельную ячейку. Можно выбрать защиту листа, и тогда все ячейки на нем будут защищены от редактирования и другого вмешательства. С одной стороны это удобно, но что делать, если нам нужно защитить не все ячейки, а лишь некоторые?
Рассмотрим пример. Имеем простую таблицу с данными. Такую таблицу нам нужно разослать в филиалы, чтобы магазины заполнили столбец ПРОДАННОЕ КОЛИЧЕСТВО и отправили обратно. Во избежание внесения каких-то изменений в другие ячейки, защитим их.
Для начала освободим от защиты те ячейки, куда сотрудники филиалов будут вносить изменения. Выделяем D4:D11, правой кнопкой вызываем меню, выбираем ФОРМАТ ЯЧЕЕК и убираем галочку с пункта ЗАЩИЩАЕМАЯ ЯЧЕЙКА.
Теперь выбираем вкладку РЕЦЕНЗИРОВАНИЕ – ЗАЩИТИТЬ ЛИСТ. Появляется такое окно, где будут проставлены 2 галочки. Первую из них мы убираем, чтобы исключить любое вмешательство сотрудников филиалов, кроме заполнения столбца ПРОДАННОЕ КОЛИЧЕСТВО. Придумываем пароль и нажимаем ОК.
Внимание! Не забудьте свой пароль!
Теперь в диапазон D4:D11 посторонние лица смогут только вписать какое-то значение. Т.к. мы ограничили все остальные действия, никто не сможет даже изменить цвет фона. Все средства форматирования на верхней панели инструментов не активные. Т.е. они не работают.
Защита книги Excel от редактирования
Если на одном компьютере работает несколько человек, то целесообразно защищать свои документы от редактирования третьими лицами. Можно ставить защиту не только на отдельные листы, но и на всю книгу.
Когда книга будет защищена, посторонние смогут открывать документ, видеть написанные данные, но переименовать листы, вставить новый, поменять их расположение и т.п. Попробуем.
Прежнее форматирование сохраняем. Т.е. у нас по-прежнему можно вносить изменения только в столбец ПРОДАННОЕ КОЛИЧЕСТВО. Чтобы защитить книгу полностью, на вкладке РЕЦЕНЗИРОВАНИЕ выбираем ЗАЩИТИТЬ КНИГУ. Оставляем галочки напротив пункта СТРУКТУРУ и придумываем пароль.
Теперь, если мы попробуем переименовать лист, у нас это не получится. Все команды серого цвета: они не работают.
Снимается защита с листа и книги теми же кнопками. При снятии система будет требовать тот же пароль.
Трюк №9. Блокировка и защита ячеек Excel, содержащих формулы
Иногда вы хотите разрешить пользователям изменять ячейки, содержащие данные, не разрешая менять формулы. Можно заблокировать ячейки, содержащие формулы, не защищая целый лист или книгу.
При создании электронной таблицы большинство из нас используют определенного рода формулы, Иногда, однако, мы не хотим, чтобы другие пользователи портили, удаляли или переписывали любые формулы, присутствующие в таблице, Самый простой и распространенный способ запрещения модификации формул — защитить лист, Однако защита листа не только мешает пользователям изменять формулы, она также подразумевает, что пользователи не смогут ввести или изменить никакие данные, Обычно вы не хотите заходить так далеко, По умолчанию все ячейки на листе заблокированы; однако это не имеет никакого эффекта, пока не применяется защита листа. Далее мы расскажем об очень простом способе защиты листа, когда блокируются и защищаются только ячейки с формулами.
Выберите все ячейки на листе, нажав сочетание клавиш Ctrl/Apple+A или щелкнув кнопку выделения листа (серый квадрат в месте пересечения столбца А и строки 1). Затем выберите команду Формат → Ячейки → Защита (Format → Cells → Protection) и сбросьте флажок Защищаемая ячейка (Locked). Щелкните кнопку ОК.
Теперь выделите любую ячейку, выберите команду Правка → Перейти (Edit → Go To) (Ctrl+G или F5) и щелкните кнопку Выделить (Special). Вы увидите диалоговое окно выделения группы ячеек (рис. 1.13).
Рис. 1.13. Диалоговое окно Выделение группы ячеек
В диалоговом окне Go To Special (Выделение группы ячеек) выберите переключатель Формулы (Formulas) и, если необходимо, выберите определенные типы формул, установив соответствующие флажки. Щелкните на кнопке ОК. Будут выделены только ячейки с формулами. Выберите команду Формат → Ячейки → Защита (Format → Cells → Protection) и установите флажок Защищаемая ячейка (Locked). Щелкните на кнопке ОК. Теперь выберите команду Сервис → Защита → Защитить лист (Tools → Protection → Protect Worksheet), чтобы защитить лист и, если необходимо, назначить пароль.
Предыдущий метод определенно экономит много времени и исключает возможные ошибки при поиске формул для защиты. К сожалению, при этом пользователи не смогут воспользоваться несколькими средствами, например, сортировкой, форматированием, выравниванием текста и многими другими, о которых вы можете и не знать, даже в незаблокированной ячейке. Эту проблему можно решить двумя способами.
Первый подход совершенно не использует защиту листа, зато применяет проверку правильности данных.
Теперь, когда выбраны только ячейки с формулами, перейдите на вкладку Данные → Проверка → Параметры (Data → Validation → Settings), в поле Тип данных (Allow) выберите Другой (Custom), а в поле Формула (Formula) введите =»» (рис. 1.14). Щелкните на кнопке ОК.
Рис. 1.14. Формулы проверки
Этот метод позволяет предотвратить случайную запись данных в любые ячейки формул, хотя, как подчеркивалось в предыдущем предупреждении, это не абсолютно безопасный способ, и его можно использовать только против случайного ввода данных и т. д. Однако большое преимущество этого метода заключается в том, что на листе можно применять все возможности Excel.
Последний метод позволит использовать все возможности Excel, но только когда вы находитесь в незаблокированной ячейке. Для начала удостоверьтесь, что заблокированы только те ячейки, которые вы хотите защитить, а все остальные не заблокированы. Правой кнопкой мыши щелкните ярлычок листа, в контекстном меню выберите пункт Исходный текст (View Code) и введите код из листинга 1.17.
// Листинг 1.17 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Locked = True Then Me.Protect Password:=»Secret» Else Me.Unprotect Password:=»Secret» End If End Sub
Если вы не хотите использовать пароль, уберите строку Password:=«Secret». Если вы указали пароль, измените слово Secret на ваш пароль. Нажмите сочетание клавиш Alt/Apple+Q или щелкните крестик в правом верхнем углу окна, чтобы вернуться в Excel и сохранить книгу. Теперь каждый раз, когда вы будете выбирать заблокированную ячейку, ваш лист будет автоматически защищать себя. Как только вы выберете незаблокированную ячейку, лист автоматически снимет с себя защиту.
Защита ячеек от редактирования в Microsoft Excel
При работе с таблицами Excel иногда возникает потребность запретить редактирование ячейки. Особенно это актуально для диапазонов, где содержатся формулы, или на которые ссылаются другие ячейки. Ведь внесенные в них некорректные изменения могут разрушить всю структуру расчетов. Производить защиту данных в особенно ценных таблицах на компьютере, к которому имеет доступ и другие лица кроме вас, просто необходимо. Необдуманные действия постороннего пользователя могут разрушить все плоды вашей работы, если некоторые данные не будут хорошо защищены. Давайте взглянем, как именно это можно сделать.
Включение блокирования ячеек
В Экселе не существует специального инструмента, предназначенного для блокировки отдельных ячеек, но данную процедуру можно осуществить с помощью защиты всего листа.
Способ 1: включение блокировки через вкладку «Файл»
Для того, чтобы защитить ячейку или диапазон нужно произвести действия, которые описаны ниже.
- Выделите весь лист, кликнув по прямоугольнику, который находится на пересечении панелей координат Excel. Кликните правой кнопкой мыши. В появившемся контекстном меню перейдите по пункту «Формат ячеек…».
Откроется окно изменения формата ячеек. Перейдите во вкладку «Защита». Снимите галочку около параметра «Защищаемая ячейка». Нажмите на кнопку «OK».
Выделите диапазон, который желаете заблокировать. Опять перейдите в окно «Формат ячеек…».
Но, дело в том, что после этого диапазон ещё не стал защищенным. Он станет таковым только тогда, когда мы включим защиту листа. Но при этом, изменять нельзя будет только те ячейки, где мы установили галочки в соответствующем пункте, а те, в которых галочки были сняты, останутся редактируемыми.
Переходим во вкладку «Файл».
В разделе «Сведения» кликаем по кнопке «Защитить книгу». В появившемся списке выбираем пункт «Защитить текущий лист».
Открываются настройки защиты листа. Обязательно должна стоять галочка около параметра «Защитить лист и содержимое защищаемых ячеек». При желании можно установить блокирование определенных действий, изменяя настройки в параметрах, находящихся ниже. Но, в большинстве случаев, настройки выставленные по умолчанию, удовлетворяют потребностям пользователей по блокировке диапазонов. В поле «Пароль для отключения защиты листа» нужно ввести любое ключевое слово, которое будет использоваться для доступа к возможностям редактирования. После того, как настройки выполнены, жмем на кнопку «OK».
Теперь те диапазоны, которые мы ранее выделили и в настройках форматирования установили их защиту, будут недоступны для редактирования. В остальных областях можно производить любые действия и сохранять результаты.
Способ 2: включение блокировки через вкладку «Рецензирование»
Существует ещё один способ заблокировать диапазон от нежелательного изменения. Впрочем, этот вариант отличается от предыдущего способа только тем, что выполняется через другую вкладку.
- Снимаем и устанавливаем флажки около параметра «Защищаемая ячейка» в окне формата соответствующих диапазонов точно так же, как мы это делали в предыдущем способе.
- Переходим во вкладку «Рецензирование». Кликаем по кнопке «Защитить лист». Эта кнопка расположена в блоке инструментов «Изменения».
Разблокировка диапазона
При нажатии на любую область заблокированного диапазона или при попытке изменить её содержимое будет появляться сообщение, в котором говорится о том, что ячейка защищена от изменений. Если вы знаете пароль и осознано хотите отредактировать данные, то для снятия блокировки вам нужно будет проделать некоторые действия.
-
Переходим во вкладку «Рецензирование».
На ленте в группе инструментов «Изменения» кликаем по кнопке «Снять защиту с листа».
После этих действий защита со всех ячеек будет снята.
Как видим, несмотря на то, что в программе Эксель не имеется интуитивно понятного инструмента для защиты конкретной ячейки, а не всего листа или книги, данную процедуру можно выполнить путем некоторых дополнительных манипуляций через изменение форматирования.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Как защитить ячейку от изменений в Excel
В этой статье я расскажу как защитить ячейки в Excel от изменений и редактирования. Защита ячеек может заключаться в том, что пользователи, открывшие ваш файл не смогут редактировать значения ячеек, а также видеть формулы.
Прежде чем, мы разберемся как настроить защиту, важно понять принцип работы защиты ячеек в Excel. По-умолчанию, все ячейки в Excel уже заблокированы, но фактически доступ к ним будет ограничен после того, как вы в настройках защиты листа введете пароль и условия по ограничению доступа.
Как защитить все ячейки в файле Excel
Если вы хотите защитить абсолютно все ячейки в вашем Excel файле от редактирования и изменений, проделайте следующие действия:
- Перейдите во вкладку “ Рецензирование ” на панели инструментов => в подразделе “ Защита ” кликните по иконке “ Защитить лист “:
- Во всплывающем окне, убедитесь, что установлена галочка напротив пункта “ Защитить лист и содержимое защищаемых ячеек “:
- Введите пароль в поле “ Пароль для отключения защиты листа “, если хотите, чтобы снять защиту могли только те пользователи, которым вы сообщили пароль:
- Выберите из списка и отметьте “галочкой” те действия с ячейками листа, которые будут разрешены всем пользователям:
Если вы установили пароль, то система попросит вас повторно ввести его.
Теперь, всем пользователям, которые попытаются внести изменения или отредактировать значения ячеек будет отображаться такое сообщение:
Для того чтобы снять установленную защиту, перейдите во вкладку “ Рецензирование “, и в разделе “ Защита ” кликните по иконке “ Снять защиту с листа “. После этого система попросит вас ввести пароль для снятия защиты.
Как защитить отдельные ячейки в Excel от изменений
Чаще всего, вам может не потребоваться защита всего листа целиком, а только отдельных ячеек. Как я писал в начале статьи, все ячейки в Excel по умолчанию заблокированы. Для того чтобы блокировка наступила фактически нужно настроить защиту листа и задать пароль.
Для примера рассмотрим простую таблицу с данными о доходах и расходах. Наша задача защитить от изменений ячейки в диапазоне B1:B3 .
Для того чтобы заблокировать отдельные ячейки проделаем следующие действия:
- Выделим абсолютно все ячейки на листе Excel (с помощью сочетания клавиш CTRL + A ):
- Перейдем на вкладку “ Главная ” на панели инструментов => в разделе “ Выравнивание ” кликнем по иконке в правом нижнем углу:
- Во всплывающем окне перейдем на вкладку “ Защита ” и уберем галочку с пункта “ Защищаемая ячейка “:
Таким образом, мы отключили настройку Excel для ячеек всего листа, при котором все ячейки готовы к защите и блокировке.
- Теперь, выделим ячейки, которые мы хотим защитить от редактирования (в нашем случае это диапазон ячеек B1:B3 );
- Снова перейдем на вкладку “ Главная ” на панели инструментов и в подразделе “ Выравнивание ” кликнем по иконке в правом нижнем углу, как мы делали это раннее.
- Во всплывающем окне, на вкладке “ Защита ” поставим галочку в пункте “ Защищаемая ячейка “:
- Перейдем во вкладку “ Рецензирование ” на панели инструментов и кликнем по иконке “ Защитить лист “:
- Во всплывающем окне, убедимся, что установлена галочка напротив пункта “ Защитить лист и содержимое защищаемых ячеек “:
- Введем пароль в поле “ Пароль для отключения защиты листа “, чтобы снять защиту могли только те пользователи, которым мы сообщили пароль:
- Выберем из списка и отметим “галочкой” те действия с ячейками листа, которые будут разрешены всем пользователям:
После этого система попросит нас повторно ввести пароль. Теперь, при попытке редактирования ячеек B1:B3 из нашего примера, будет отображаться сообщение:
Как скрыть формулу заблокированной ячейки
Если ячейки, которые вы защитили от редактирования содержат формулы, вы также можете их скрыть.
Для этого проделайте следующие шаги:
- Выделите ячейки, которые вы хотите защитить и скрыть формулы;
- Перейдем на вкладку “ Главная ” на панели инструментов и в подразделе “ Выравнивание ” кликнем по иконке в правом нижнем углу, как мы делали это раннее;
- Во всплывающем окне, на вкладке “ Защита ” поставим галочки в пунктах “ Защищаемая ячейка ” и “ Скрыть формулы “:
Блокировка ячеек
Предположим, что начальник хочет защитить всю книгу, но также хочет изменить несколько ячеек после включения защиты книги. Перед включением защиты паролем вы разблокировали некоторые ячейки в книге. После того как начальник закончит работу с книгой, вы можете заблокировать эти ячейки.
Чтобы закрепить ячейки на листе, выполните указанные ниже действия.
Выделите ячейки, которые нужно блокировать.
На вкладке Главная в группе Выравнивание щелкните маленькую стрелку, чтобы открыть всплывающее окно Формат ячеек .
На вкладке Защита установите флажок Защищаемая ячейка, а затем нажмите кнопку ОК , чтобы закрыть окно.
Примечание: Если бы вы попробовали выполнить эти действия для незащищенной книги или листа, то увидели бы, что ячейки уже заблокированы. Это означает, что ячейки готовы к блокированию при защите книги или листа.
На вкладке Рецензирование в группе Изменения выберите команду Защитить лист или Защитить книгу, чтобы снова включить защиту. В разделе Защита листа или Защита книги.
Совет: Лучше всего перед защитой книги или листа разблокировать все ячейки, которые может потребоваться изменить в будущем, но это можно сделать и после применения защиты. Чтобы снять защиту, просто удалите пароль.
В дополнение к защите книг и листов вы также можете защитить формулы.
Excel Online не может блокировать ячейки или отдельные области листа.
Если вы хотите закрепить ячейки или защитить определенные области, нажмите кнопку Открыть в Excel и заблокируйте ячейки, чтобы защитить их или заблокировать или разблокировать определенные области защищенного листа.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.
Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).