Поделиться через


Программное обеспечение защиты листов

Возможность защиты в Microsoft Office Excel помогает предотвратить изменение объектов на листе пользователями и кодом. По умолчанию все ячейки заблокированы после включения защиты.

Область применения. Сведения в этом разделе относятся к проектам уровня документа и проектам надстроек VSTO для Excel. Дополнительные сведения см. в разделе "Функции", доступные по Приложение Office ликации и типу проекта.

В настройках на уровне документа можно защитить листы с помощью конструктора Excel. Лист также можно защитить программными средствами во время выполнения в проекте любого типа.

Примечание.

Невозможно добавлять элементы управления Windows Forms в защищенные области листа.

Использование конструктора

Защита листа в конструкторе

  1. В группе изменений на вкладке "Рецензирование" нажмите кнопку "Защитить лист".

    Откроется диалоговое окно "Защита листа ". Вы можете задать пароль и при необходимости указать определенные действия, которые пользователям разрешено выполнять с листом, например форматирование ячеек или вставка строк.

    Также можно разрешить пользователям редактировать определенные диапазоны защищенных рабочих листов.

Включение редактирования в определенных диапазонах

  1. В группе изменений на вкладке "Рецензирование" нажмите кнопку "Разрешить пользователям изменять диапазоны".

    Откроется диалоговое окно "Разрешить пользователям изменять диапазоны ". Можно указать диапазоны, которые разблокируются с помощью пароля, и пользователей, которым разрешено редактировать диапазоны без пароля.

Использование кода во время выполнения

Следующий код задает пароль (с помощью переменной getPasswordFromUser, которая содержит пароль, полученный от пользователя) и разрешает только сортировку.

Защита листа с помощью кода в настройке на уровне документа

  1. Вызовите метод Protect листа. В этом примере предполагается, что вы работаете с листом Sheet1.

    Globals.Sheet1.Protect(getPasswordFromUser, true);
    

Защита листа с помощью кода в надстройке VSTO

  1. Вызовите метод Protect активного листа.

    ((Excel.Worksheet)Application.ActiveSheet).Protect(getPasswordFromUser, true);