1с защита листа excel
Чтобы предотвратить умышленное или случайное изменение, перемещение или удаление данных на листе другими пользователями, можно заблокировать ячейки на листе Excel, а затем защитить его паролем. Предположим, что у вас есть лист отчета о работе группы и вы хотите, чтобы ее участники могли добавлять данные только в определенные ячейки и не могли изменять другие элементы. С помощью защиты листа можно сделать доступными для редактирования только определенные части листа, после чего пользователи не смогут изменять данные в других его областях.
Защита листа не является функцией безопасности. Она просто запрещает изменение заблокированных ячеек на листе.
Защита листа отличается от защиты файла или книги Excel паролем. Дополнительные сведения см. ниже.
Сведения о том, как заблокировать файл, чтобы другие пользователи не смогли открыть его, см. в статье Защита файла Excel.
Чтобы предотвратить добавление, изменение, перемещение, копирование или скрытие и отображение листов в книге, см. статью Защита книги.
Чтобы узнать, чем защита файла Excel отличается от защиты книги или листа, прочтите статью Защита и безопасность в Excel.
Выбор элементов ячейки для блокировки
Вот какие элементы можно заблокировать на незащищенном листе:
Формулы: если вы не хотите, чтобы другие пользователи видели формулы, их можно скрыть из ячеек или строки формул. Дополнительные сведения см. в теме Отображение и скрытие формул.
Диапазоны: вы можете позволить пользователям работать в определенных диапазонах на защищенном листе. Дополнительные сведения см. в статье Блокировка и разблокировка определенных областей защищенного листа.
Примечание: Элементы ActiveX, элементы управления форм, фигуры, диаграммы, графические элементы SmartArt, спарклайны, срезы, временные шкалы и некоторые другие элементы блокируются сразу после добавления в таблицу. Однако блокировка будет работать только в том случае, если включена защита листа. Дополнительные сведения о том, как включить защиту, см. в следующем разделе.
Включение защиты листа
Защита листа выполняется в два этапа: сначала нужно разблокировать ячейки, которые пользователи должны изменять, а затем защитить лист с использованием пароля или без него.
Шаг 1. Разблокировка всех ячеек, которые необходимо изменять
В файле Excel щелкните ярлычок листа, который вы хотите защитить.
Выделите ячейки, которые должны изменять другие пользователи.
Совет: Чтобы выделить несколько несмежных ячеек, нажмите и удерживайте клавишу CTRL и щелкните их левой кнопкой мыши.
Щелкните правой кнопкой мыши в любом месте листа и выберите команду Формат ячеек (либо нажмите клавиши CTRL+1 или COMMAND1 на компьютере Mac), а затем откройте вкладку Защита и снимите флажок Защищаемая ячейка.
Шаг 2. Защита листа
Решите, какие действия пользователи должны выполнять на листе (например, вставка и удаление столбцов или строк, изменение объектов, сортировка или использование автофильтра). Кроме того, вы также можете указать пароль, чтобы заблокировать лист. Пароль не позволит другим пользователям снять с листа защиту — его потребуется ввести для ее отключения.
Ниже приведены инструкции по защите листа.
На вкладке Рецензирование нажмите кнопку Защитить лист.
В списке Разрешить всем пользователям этого листа установите флажки для элементов, изменение которых должно быть доступно пользователям.
Возможность
выделение заблокированных ячеек
Перемещение указателя на ячейки, для которых установлен флажок Защищаемая ячейка на вкладке Защита в диалоговом окне Формат ячеек. По умолчанию пользователям разрешено выделять защищенные ячейки.
выделение незаблокированных ячеек
Перемещение указателя на ячейки, для которых снят флажок Защищаемая ячейка на вкладке Защита в диалоговом окне Формат ячеек. По умолчанию пользователям разрешено выделять незащищенные ячейки, а также перемещаться между незащищенными ячейками на защищенном листе с помощью клавиши TAB.
форматирование ячеек
Изменение параметров в диалоговых окнах Формат ячеек или Условное форматирование. Если условное форматирование было применено до установки защиты листа, форматирование будет изменяться при вводе значения, удовлетворяющего определенному условию.
форматирование столбцов
Использование любых команд форматирования столбцов, включая изменение ширины столбца или скрытие столбцов (вкладка Главная, группа Ячейки, кнопка Формат).
форматирование строк
Использование любых команд форматирования строк, включая изменение высоты строки или скрытие строк (вкладка Главная, группа Ячейки, кнопка Формат).
вставку столбцов
вставку строк
вставку гиперссылок
Вставка новых гиперссылок (даже в незаблокированных ячейках).
удаление столбцов
Примечание: Если delete columns is protected and Insert columns is not protected, a user can insert columns but cannot delete them.
удаление строк
Примечание: Если delete rows is protected and Insert rows is not protected, a user can insert rows but cannot delete them.
Использование команд для сортировки данных (вкладка Данные, группа Сортировка и фильтр).
Примечание: Пользователи не смогут сортировать диапазоны, содержащие заблокированные ячейки на защищенном листе, независимо от настройки этого параметра.
использование автофильтра
Использование стрелок раскрывающегося списка для изменения фильтра в диапазонах, если применяются автофильтры.
Примечание: Пользователи не смогут применять или удалять автофильтры на защищенном листе независимо от настройки этого параметра.
использование отчетов сводной таблицы
Форматирование, изменение макета, обновление данных либо иное изменение отчетов сводной таблицы, а также создание отчетов.
изменение объектов
Выполнять следующие действия:
Внесение изменений в графические объекты, в том числе карты, встроенные диаграммы, фигуры, надписи и элементы управления, которые не были разблокированы перед установкой защиты листа. Например, если на листе есть кнопка, запускающая макрос, ее можно нажать, чтобы запустить макрос, но нельзя удалить.
Внесение каких-либо изменений (например, форматирование) во встроенную диаграмму. Диаграмма по-прежнему будет обновляться при изменениях ее исходных данных.
Добавлять и редактировать заметки.
изменение сценариев
Просмотр скрытых сценариев, изменение сценариев с установленным запретом на изменения и удаление этих сценариев. Пользователи могут изменять значения в изменяемых ячейках, если ячейки не защищены, и добавлять новые сценарии.
При желании можно ввести пароль в поле Пароль для отключения защиты листа и нажать кнопку ОК. В диалоговом окне Подтверждение пароля еще раз введите пароль и нажмите ОК.
Используйте надежные пароли, состоящие из букв в верхнем и нижнем регистре, цифр и символов. В ненадежных паролях не используются сочетания таких элементов. Пароль должен состоять не менее чем из 8 знаков. Лучше использовать в качестве passphrase 14 или более символов.
Очень важно запомнить свой пароль. Если вы забудете пароль, корпорация Майкрософт не сможет его восстановить.
Если лист защищен, команда Защитить лист на ленте изменяется на Снять защиту листа. Команду Снять защиту листа можно найти на вкладке Рецензирование в группе Изменения.
Чтобы снять защиту листа, сделайте следующее:
Выберите лист, защиту которого вы хотите снять.
Выберите Файл > Сведения > Защита > Снять защиту листа или РецензированиеИзменения > Снять защиту листа.
Если лист защищен паролем, введите его в диалоговом окне Защита листа и нажмите кнопку OK.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
После манипуляции с файлом необходимо его закрыть. В противном случае он останется захваченным в системе, и мы не сможем его использовать в других приложениях.
Клиент-Серверный вариант в управляемых формах.
1. Считываем данные из файла в массив из структур и затем этот массив передаем на сервер для дальнейших манипуляций с данными.
2-ой способ - это передать файл Excel на сервер через хранилище данных и далее работать с ним уже на сервере.
Очень часто приходится работать с очень большими файлами Excel, и его обработка путем перебора строк занимает огромное количество времени.
В таких случаех удобно в одно действие загрузить всю таблицу в массив и в потом работать уже непосредственно с массивом.
На выходе получаем двумерный массив, который содержит все данные указанного листа Excel
Полезные функции при работе с Excel:
Устанавливает видимость Excel при работе |
Добавление новой книги в файл Excel |
Сохранение книги Excel |
Добавление нового листа к книге |
Переименование листа |
Изменение маштаба листа |
Изменение ориентации листа |
Отступы листа |
Обращение к ячейки чтение/запись |
Обращение к области ячеек |
Очень часто при чтении или записи значений в Excel ставятся лишние пробелы в числе, например, вместо 1502 он читает как 1 502 и в дальнейшем это значение не приводится к числу. Эту проблему можно решить заменой. |
Объединение ячеек |
Работа с именованными ячейками в Excel |
Удаление ячейки |
Удаление области ячеек |
Обращение к строке |
Изменение ширины колонки |
Обращение к колонке |
Удаление Строки |
Фон ячейки / области / Строки / |
Функция переводит цвет из формата RGB в формат Excel |
Управление шрифтом в ячейки/строке/области |
Р азрешает переносить по словам в ячейке |
Управление рамкой ячейки |
Устанавливаем формат ячейки |
Формула в ячейки |
Формула в ячейки |
Формула в ячейки |
Формула в ячейки |
Функция для получения ширины колонки Excel Спасибо пользователю goodwill |
Разрешить перенос слов в ячейке Спасибо пользователю roofless |
Группировки данных на листе Спасибо пользователю dr-wit, ignor |
При работе с Excel мы оперируем столбцами как числом (Например, 1 столбец), а у Excel адресация столбцов производится с помощью символов. И когда нам нужно отредактировать формулу, то нам нужно номер столбца преобразовать в символ. В таких случаях вам пригодится эта функция.
2. Работа с Excel через ТабличныйДокумент 1С
С помощью данного метода можно и загружать из Excel и выгружать в Excel. Но на мой взгляд этот метод идепально подходит когда вам необходимо посто сохранить информацию в Excel без дальнейшей манипуляции.
Итак, приступим: загрузка из Excel:
1. Загружаем файл Excel в табличный документ
2. Производим манипуляции уже с ТабличнымДокументом
Давайте теперь разберем сохранение в Excel с помощью данного метода:
Тут все очень просто сначала мы формируем обычный Табличный документ и затем записываем его в Excel
2. Работа с Excel ADODB
Выражаю особую благодарность коллеги Fragster за хороший комментарий
Данный метод позволяет работать с Excel через ODBC и имеет ряд преимуществ:
- Не требует установки самой Excel, необходима лишь установить ODBC. Но как правило он уже установлен. Это особенность позволяет работать на стороне сервера без дополнительных установок Excel.
- Позволяет работать с таблицой Excel как с БД и строить к ней запросы на T-SQL. Таким образом мы можем делать отборы еще на этапе чтения данных и другие преимущества что дает Т-SQL. Что на мой взгляд огромный плюс.
Подключение к ADO
Отключение от ADO
Выполнение запроса
Пример запроса:
Запись в Excel тоже производится в виде запроса:
Хочу отметить что наименование полей производится по первой строке в таблице
ADODB предоставляет ряд объектов, с которыми мы работаем
ADODB.Recordset
В файле продемонстрированны оба варианта работы с запросами.
На этом пока все. По возможности буду дополнять статью :)
В архиве находится обработка, которая демонстрирует все описанные и другие возможности при работе с Excel.
После выполнения действий необходимо закрыть книгу:
Выгрузка данных в Excel
Для вывода (выгрузки) данных в Excel необходимо либо открыть существующую книгу, либо создать новую, и выбрать рабочий лист для вывода данных.
Для создания новой книги можно использовать следующий код:
При создании книги автоматически создаются листы (по умолчанию 3). Нам остается только выбрать нужный:
Или добавить в книгу новый лист:
Добавим в ячейку на листе значение:
Запишем книгу:
Где ПутьКФайлу - полный путь к файлу книги Excel (включая имя).
После выполнения действий необходимо закрыть книгу:
Часто используемые методы Excel
Эксель.Visible = Видимость; | 0 - Excel не виден, 1 - виден. |
Книга = Эксель.WorkBooks.Add(); | Создание новой книги (файла) Excel. |
Книга.SaveAs(ИмяФайла); | Сохранение книги Excel. |
Лист = Книга.WorkSheets.Add(); | Добавление нового листа в книгу. |
Книга = Эксель.WorkBooks.Open(ИмяФайла); | Открытие существующей книги (файла) Excel. |
Лист = Книга.WorkSheets(НомерЛиста); | Установка листа в качестве рабочего с номером НомерЛиста. |
Лист.Name = ИмяЛиста; | Задание рабочему листу имени ИмяЛиста |
Лист.PageSetup.Zoom = Масштаб; | Задание параметра страницы "Масштаб" (от 10 до 400). |
Лист.PageSetup.Orientation = Ориентация; | Ориентация: 1 - книжная, 2 - альбомная. |
Лист.PageSetup.LeftMargin = Эксель.CentimetersToPoints(Сантиметры); | Задание левой границы (в сантиметрах). |
Лист.PageSetup.TopMargin = Эксель.CentimetersToPoints(Сантиметры); | Задание верхней границы (в сантиметрах). |
Лист.PageSetup.RightMargin = Эксель.CentimetersToPoints(Сантиметры); | Задание правой границы (в сантиметрах). |
Лист.PageSetup.BottomMargin = Эксель.CentimetersToPoints(Сантиметры); | Задание нижней границы (в сантиметрах). |
Лист.Columns(НомерКолонки).ColumnWidth = Ширина; | Задание ширины колонке. |
Лист.Cells(НомерСтроки, НомерКолонки).Value = Значение; | Ввод данных в ячейку. |
Лист.Cells(НомерСтроки,НомерКолонки).Font.Name = ИмяШрифта; | Установка шрифта в ячейке. |
Лист.Cells(НомерСтроки,НомерКолонки).Font.Size = РазмерШрифта; | Установка размера шрифта в ячейке. |
Лист.Cells(НомерСтроки,НомерКолонки).Font.Bold = Жирный; | 1 - жирный шрифт, 0 - нормальный. |
Лист.Cells(НомерСтроки,НомерКолонки).Font.Italic = Курсив; | 1 - наклонный шрифт, 0 - нормальный. |
Лист.Cells(НомерСтроки,НомерКолонки).Font.Underline = Подчеркнутый; | 2 - подчеркнутый, 1 - нет. |
Лист.Cells(НомерСтроки, НомерКолонки).NumberFormat = Формат; | Установка формата данных ячейки. |
Лист.Cells(НомерСтроки,НомерКолонки).Borders.Linestyle = ТипЛинии; | Установка рамок ячейки. 1 - тонкая сплошная. |
Лист.Protect(); | Установка защиты на лист |
Лист.UnProtect(); | Снятие защиты с листа |
Лист.Cells(Строка, Столбец).Locked=0; | Ячейка будет доступной (и после установки защиты на лист) |
Хитрости Excel
Как выборочно разрешить / запретить редактирование ячеек листа
Как осуществить поиск / замену значений ячеек на листе
Замечание. Текст для замены лучше выделять, например, в угловые скобки, аналогично параметрам макета в 1С. Это улучшит наглядность, визуально отделит от рабочего текста. Текст для поиска в этом случае будет выглядеть так: ТекстДляПоиска
Для того, чтобы защитить данные как от посторонних лиц, так и от собственных случайных действий, пользователи могут установить защиту на документы Эксель. Увы, не все знают, как снять такую защиту, чтобы получить доступ к информации, в т.ч., иметь возможность ее редактировать. И что делать, если файл получен от другого пользователя, который забыл передать нам пароль, или мы случайно забыли (потеряли) его? Давайте разберемся подробнее.
Отметим, что заблокировать документ Excel можно двумя способами: защитить лист или книгу. Соответственно, от этого будет зависеть то, какие действия нужно предпринять для разблокировки.
Снимаем защиту с книги
Снимаем защиту с листа
Пароль для защиты может быть установлен не только для всего документа, но и в отношении конкретного листа. В данном случае, пользователь сможет видеть содержимое листа, но у него не будет возможности редактировать информацию.
Для снятия защиты листа выполняем следующие действия.
Меняем код файла для снятия защиты листа
Данный метод нужен в тех случаях, когда пароль был утерян или не передан вместе с файлом от другого пользователя. Работает он только в отношении тех документов, которые защищены на уровне отдельных листов, а не всей книги, т.к. нам нужно попасть в меню “Файл”, что невозможно при защите паролем всего документа.
Чтобы снять защиту, необходимо выполнить следующую последовательность действий:
-
Сразу переходим к пункту 4, если расширение файла – XLSX (Книга Excel). Если формат документа – XLS (Книга Excel 97-2003), нужно сначала его пересохранить с нужным расширением. Для этого переходим в меню “Файл”.
Сторонние программы для удаления паролей
Чтобы удалить пароль, можно воспользоваться программами сторонних разработчиков. При этом стоит помнить о возможном риске, связанном со скачиванием, установкой и использованием нестандартных инструментов операционной системы и программы Excel.
Если вы, все же, решили воспользоваться такой возможностью, можно обратить внимание на достаточно популярную программу Accent OFFICE Password Recovery.
Обращаем ваше вниманием на то, что для получения доступа ко всем функциям программы нужно приобрести лицензию. Для ознакомления с приложения доступна демо-версия, однако, она не позволяет удалять пароли.
Заключение
Защита книги или отдельного листа – крайне полезные функции программы Excel, когда нужно защитить информацию от посторонних лиц или, например, обезопасить себя от случайных изменений важных данных, предназначенных только для чтения. Но иногда возникает обратная необходимость – снять ранее установленную защиту. Сделать это можно по-разному, в зависимости от того, каким образом она была установлена. И даже если вы забыли пароль, блокировку можно снять, правда, только в том случае, когда код был установлен в отношении отдельных листов, а не всей книги.
Читайте также: