Запрет на сохранение файла excel
Иногда возникает необходимость защитить от изменений окончательный вариант какого-либо документа, например последнюю, согласованную версию бюджета, дабы избежать случайных изменений в нем. Мы очень долго и упорно работали над нашим файлом, и нам очень хотелось бы по прошествии времени застать его в том виде, в котором он был нами сохранен в окончательном варианте, особенно, если файл расположен в общем доступе.
Программа Excel, как всегда, предоставляет нам несколько возможностей сделать это. Каждый из них имеет свои особенности и по этому рассмотрим каждый из них по подробнее.
Психологический
Первый способ, можно назвать «Психологический». Это когда мы даем имя файлу недвусмысленно указывающее на окончательный вариант, например «Имя_файла_финиш», «Имя_файла_окончательно», «Имя_файла_не_изменять_убью. ». По сути дела, нас ничего не удерживает от внесения изменений, кроме психологических сдерживающих факторов. При всех своих очевидных минусах, это достаточно распространенный и информативный вариант.
Окончательный вариант
Этот способ вполне подходит для защиты документа от случайных изменений.
Для того, чтобы пометить файл как окончательный необходимо в меню Файл → выбрать пункт Сведения → элемент Защитить книгу (Разрешения) → команда Пометить как окончательный.
Также, для редактирования книги можно проделать путь аналогичный ее защите, и при повторном нажатии на команду Пометить как окончательный, документ снова будет доступен для внесения изменений.
Как видим, данный способ защиты приемлем только от внесения случайных изменений. Если мы хотим уберечь наш документ от злого умысла, то нам необходимо что-то посерьезнее.
Защита листа
Следующий способ связан с установкой защиты листа от изменений. В Excel 2010 установить защиту листа можно на вкладке Рецензирование → группа Изменения → команда Защитить лист.
Откроется диалоговое окно, в котором можно установить пароль на снятие защиты листа и при необходимости разрешить внесение определенных изменений.
Защиту листа можно установить и через меню Файл → элемент Сведения → группа Разрешения → команда Защитить текущий лист.
Для снятия защиты с листа необходимо проделать тот же самый путь: вкладка Рецензирование → группа Изменения → команда Снять защиту листа. Вводим пароль в появившемся диалоговом окне (если был установлен) и нажимаем ОК. Лист снова доступен для изменений.
Этот способ позволяет гибко подойти к защите данных от изменений на листе Excel. Кроме возможности разрешить определенные виды изменений, существует возможность, защитив только необходимые ячейки, оставить для других возможность редактирования.
Для того чтобы часть ячеек оставить незащищенными, необходимо установить соответствующий параметр для данных ячеек (снять галочку «Защищаемая ячейка»).
Сделать это можно выделив необходимые ячейки, щелкнуть на них правой кнопкой мыши, в появившемся контекстном меню выбрать пункт Формат ячеек. В появившемся диалоговом окне, на вкладке Защита снять галочку Защищаемая ячейка и нажать ОК.
Теперь, при установке защиты листа, выделенные нами ячейки, будут доступны для редактирования.
Защита листа, как мы видим, является надежным способом защиты данных в Excel от изменений. От злого умысла нас теперь оберегает пароль. Даже если файл будет заменен другим, но с таким же именем, мы всегда сможем это понять, вводя наш пароль (если пароль принят, значит, файл не меняли).
Единственным минусом данного способа защиты данных, на мой взгляд, является необходимость защиты каждого листа. И если листов в книге Excel много, то это достаточно длительный процесс.
Есть еще одно ограничение на применение данного способа. Если наш документ имеет структуру (сворачивающиеся строки и столбцы) то при защите листа, она перестает действовать.
Как сохранить работоспособной структуру и в тоже время защитить данные от изменений, мы поговорим в следующих наших встречах на страницах сайта.
Защита книги
При защите всей книги, мы можем одновременно избежать указанных выше недостатков: и сразу защитить от изменений множество листов, и даже сохранить работоспособной структуру на листах книги Excel. Однако, мы не сможем оставить возможность редактирования для некоторых ячеек. Защищено будет сразу все – все данные на всех листах.
Защитить книгу можно следующим образом.
На этапе сохранения книги, в диалоговом окне Сохранение документа, нажимаем на кнопку Сервис и в появившемся меню выбираем пункт Общие параметры.
После этого появляется диалоговое окно Общие параметры, имеющее поля для установления пароля на открытие книги и на внесение изменений. Поскольку нас интересует установление защиты от изменений, то в соответствующем поле вводим пароль (1), нажимаем ОК (2) и в появившемся окне Подтверждение пароля вводим пароль повторно (3), нажимаем ОК (4) и нажимаем кнопку Сохранить (5).
Теперь при открытии сохраненной книги будет появляться диалоговое окно Пароль, которое будет предлагать ввести пароль для открытия книги с возможностью записи (внесения изменений), либо открыть в режиме «Только для чтения». Вводим наш пароль в соответствующее поле и нажимаем ОК.
Следует отметить, что при открытии книги в режиме «Только для чтения» существует возможность вносить изменения в открытую книгу, однако сохранить их не удастся. Программа предложит сохранить файл под другим именем.
Сохранение в формате PDF
Для того чтобы в наш документ уже точно нельзя было внести изменения, а можно было бы только его просматривать и печатать, можно воспользоваться возможностью сохранения файла в формате PDF.
При этом в обратную сторону, из формата PDF в формат Excel, уже никак не перейти, если не использовать специальное программное обеспечение по распознаванию текста.
Если необходимо все же внести изменения в сохраненный в формате PDF файл, то необходимо открыть исходный файл в Excel, внести изменения и заново сохранить его в формате PDF. Но это будет уже другой файл.
Для сохранения документа в формате PDF в меню Файл выбираем пункт Сохранить как, в открывшемся диалоговом окне Сохранение документа в поле Тип файла выбираем PDF (1). Нажимаем кнопку Параметры (2), устанавливаем, что мы будем сохранять: текущий лист или всю книгу (3) и нажимаем кнопку ОК (4) и кнопку Сохранить (5).
Как видите, программа Excel дает достаточно возможностей для защиты данных от изменений. Нужно лишь выбрать способ соответствующий вашим обстоятельствам.
Microsoft Excel предоставляет пользователю несколько, условно выражаясь, уровней защиты - от простой защиты отдельных ячеек до шифрования всего файла шифрами крипто-алгоритмов семейства RC4. Разберем их последовательно.
Уровень 0. Защита от ввода некорректных данных в ячейку
Самый простой способ. Позволяет проверять что именно пользователь вводит в определенные ячейки и не разрешает вводить недопустимые данные (например, отрицательную цену или дробное количество человек или дату октябрьской революции вместо даты заключения договора и т.п.) Чтобы задать такую проверку ввода, необходимо выделить ячейки и выбрать на вкладке Данные (Data) кнопку Проверка данных (Data Validation) . В Excel 2003 и старше это можно было сделать с помощью меню Данные - Проверка (Data - Validation) . На вкладке Параметры из выпадающего списка можно выбрать тип разрешенных к вводу данных:
Уровень 1. Защита ячеек листа от изменений
Мы можем полностью или выборочно запретить пользователю менять содержимое ячеек любого заданного листа. Для установки подобной защиты следуйте простому алгоритму:
- Выделите ячейки, которые не надо защищать (если таковые есть), щелкните по ним правой кнопкой мыши и выберите в контекстном меню команду Формат ячеек(Format Cells) . На вкладке Защита(Protection) снимите флажок Защищаемая ячейка(Locked) . Все ячейки, для которых этот флажок останется установленным, будут защищены при включении защиты листа. Все ячейки, где вы этот флаг снимете, будут доступны для редактирования несмотря на защиту. Чтобы наглядно видеть, какие ячейки будут защищены, а какие - нет, можно воспользоваться этим макросом.
- Для включения защиты текущего листа в Excel 2003 и старше - выберите в меню Сервис - Защита - Защитить лист(Tools - Protection - Protect worksheet) , а в Excel 2007 и новее - нажмите кнопку Защитить лист (Protect Sheet) на вкладке Рецензирование (Reveiw) . В открывшемся диалоговом окне можно задать пароль (он будет нужен, чтобы кто попало не мог снять защиту) и при помощи списка флажков настроить, при желании, исключения:
Т.е., если мы хотим оставить пользователю возможность, например, форматировать защищенные и незащищенные ячейки, необходимо установить первых три флажка. Также можно разрешить пользователям использовать сортировку, автофильтр и другие удобные средства работы с таблицами.
Уровень 2. Выборочная защита диапазонов для разных пользователей
Если предполагается, что с файлом будут работать несколько пользователей, причем каждый из них должен иметь доступ в свою область листа, то можно установить защиту листа с разными паролями на разные диапазоны ячеек.
Чтобы сделать это выберите на вкладке Рецензирование (Review) кнопку Разрешить изменение диапазонов (Allow users edit ranges) . В версии Excel 2003 и старше для этого есть команда в меню Сервис - Защита - Разрешить изменение диапазонов (Tools - Protection - Allow users to change ranges) :
В появившемся окне необходимо нажать кнопку Создать (New) и ввести имя диапазона, адреса ячеек, входящих в этот диапазон и пароль для доступа к этому диапазону:
Повторите эти действия для каждого из диапазонов разных пользователей, пока все они не окажутся в списке. Теперь можно нажать кнопку Защитить лист (см. предыдущий пункт) и включить защиту всего листа.
Теперь при попытке доступа к любому из защищенных диапазонов из списка, Excel будет требовать пароль именно для этого диапазона, т.е. каждый пользователь будет работать "в своем огороде".
Уровень 3. Защита листов книги
Если необходимо защититься от:
- удаления, переименования, перемещения листов в книге
- изменения закрепленных областей ("шапки" и т.п.)
- нежелательных изменений структуры (сворачивание строк/столбцов при помощи кнопок группировки "плюс/минус")
- возможности сворачивать/перемещать/изменять размеры окна книги внутри окна Excel
то вам необходима защита всех листов книги, с помощью кнопки Защитить книгу (Protect Workbook) на вкладке Рецензирование (Reveiw) или - в старых версиях Excel - через меню Сервис - Защита - Защитить книгу (Tools - Protection - Protect workbook) :
Уровень 4. Шифрование файла
При необходимости, Excel предоставляет возможность зашифровать весь файл книги, используя несколько различных алгоритмов шифрования семейства RC4. Такую защиту проще всего задать при сохранении книги, т.е. выбрать команды Файл - Сохранить как (File - Save As) , а затем в окне сохранения найти и развернуть выпадающий список Сервис - Общие параметры (Tools - General Options) . В появившемся окне мы можем ввести два различных пароля - на открытие файла (только чтение) и на изменение:
Каждый раз, когда вы закрываете файл Excel без сохранения, появляется всплывающее окно с запросом на сохранение, чтобы подтвердить закрытие без сохранения, что может вас раздражать. Теперь я представлю вам несколько кодов VBA, чтобы вы могли отключить запрос на сохранение при закрытии книги.
Вкладка Office позволяет редактировать и просматривать в Office с вкладками и значительно упрощает работу . Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%- Повторное использование чего угодно: Добавляйте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное и быстро используйте их в будущем.
- Более 20 текстовых функций: Извлечь число из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
- Инструменты слияния : Несколько книг и листов в одну; Объединить несколько ячеек / строк / столбцов без потери данных; Объедините повторяющиеся строки и сумму.
- Разделить инструменты : Разделение данных на несколько листов в зависимости от ценности; Из одной книги в несколько файлов Excel, PDF или CSV; От одного столбца к нескольким столбцам.
- Вставить пропуск Скрытые / отфильтрованные строки; Подсчет и сумма по цвету фона ; Отправляйте персонализированные электронные письма нескольким получателям массово.
- Суперфильтр: Создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделям, дням, периодичности и др .; Фильтр жирным шрифтом, формулы, комментарий .
- Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.
Отключить запрос на сохранение с кодом VBA в Excel
Удивительный! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Экономьте 50% своего времени и сокращайте тысячи щелчков мышью каждый день!
Здесь я представляю вам два кода VBA, чтобы отключить запрос на сохранение. Один закроет Excel без сохранения, когда вы закроете книгу напрямую, а другой закроет Excel с сохранением последнего изменения, которое вы сделали при закрытии книги.
1. Нажмите Alt + F11 открыть Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модуль , чтобы открыть окно модуля, затем скопируйте в окно следующий код VBA.
VBA: закрыть без сохранения напрямую.
3. Нажмите Запустите или F5 клавишу на клавиатуре, чтобы запустить этот код. Затем, когда вы закрываете книгу Excel, она закроется напрямую, не сохраняя последнее изменение.
Если вы хотите закрыть Excel с сохранением изменений, вы можете использовать этот код VBA.
VBA: закрыть с сохранением.
Внимание: Второй VBA не работает с новыми книгами, которые вы никогда раньше не сохраняли.
Отключение в рабочей книге команды Сохранить как
Можно сделать так, чтобы все рабочие книги сохранялись в режиме «только для чтения». Для этого в настройках Файл → Сохранить (File → Save) нужно установить флажок Только для чтения (Read-only recommended). Так вы запретите пользователю сохранять изменения, которые он может внести в файл. Пользователь сможет сохранить измененный файл только под другим именем или в другой папке.
Иногда, однако, необходимо запрещать пользователям сохранять копии вашей рабочей книги в другом каталоге или папке, независимо от того, будет ли использоваться то же имя или другое. Другими словами, нужно разрешить пользователям сохранять файл поверх существующего, но запретить сохранять копию в другом месте. Это особенно удобно, когда несколько человек сохраняют изменения рабочей книги, и вам не придется собирать множество различных копий одной книги с одинаковыми именами в разных папках.
Событие Before Save, которое вы будете использовать в следующем коде, было впервые создано в Excel 97. Как предполагает его имя, это событие происходит перед сохранением рабочей книги, позволяя вам поймать действия пользователя еще перед этим фактом, выдать предупреждение и запретить Excel сохранять файл.
Чтобы написать код, откройте рабочую книгу, правой кнопкой мыши щелкните значок Excel слева от меню Файл (File) в строке меню рабочего листа и выберите пункт Исходный текст (View Code).
Введите в VBE следующий код и нажмите сочетание клавиш Alt/Apple+Q, чтобы вернуться в Excel.
// Листинг 1.3 Private Sub workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim lReply As Long If SaveAsUI = True Then lReply = MsgBox("К сожалению, вы не можете сохранить эту книгу под этим имеенм. " _ & "Сохранить под другим именем?.", vbQuestion + vbOKCancel) Cancel = (lReply = vbCancel) If Cancel = False Then Me.Save Cancel = True End If End Sub
Запрет печати рабочей книги
Иногда возникает необходимость запретить пользователям печатать рабочую книгу, устраняя, таким образом, вероятность попадания ее в мусорную корзину или куда-нибудь на всеобщее обозрение. При помощи события Excel Before Print можно отследить и предупредить действия пользователя. Как и ранее, введите в VBE код из листинга 1.4.
// Листинг 1.4 Private Sub workbook_BeforePrint(Cancel As Boolean) Cancel = True MsgBox "К сожалению, вы не можете печатать этот файл", vbInformation End Sub
Если вы хотите, чтобы пользователи не могли печатать только определенные листы в книге, вместо предыдущего кода используйте тот, который показан в листинге 1.5.
// Листинг 1.5 Private Sub workbook_BeforePrint(Cancel As Boolean) Select Case ActiveSheet.Name Case "Sheet1", "Sheet2" Cancel = True MsgBox "К сожалению, вы не можете распечатать лист из этой книги", vbInformation End Select End Sub
Обратите внимание, что печать будет остановлена только для листов Sheet1 и Sheet2. Конечно, имена листов вашей рабочей книги могут быть любыми. Чтобы добавить их в список кода, запишите их в кавычках, разделяя запятыми. Если вы хотите запретить печать только одного листа, укажите только одно название в кавычках, не ставя запятую.
Запрещение добавлять рабочие листы
Excel позволяет защищать структуру рабочей книги, чтобы пользователи не могли удалять листы, изменять их порядок, переименовывать и т. д. Иногда, однако, возникает необходимость запретить пользователям добавлять рабочие листы, одновременно разрешив другие изменения структуры книги. Сделать это поможет код из листинга 1.6.
// Листинг 1.6 Private Sub Workbook_NewSheet(ByVal Sh As Object) Application.DisplayAlerts = False MsgBox "К сожалению, вы не можете добавить больше листов в эту книгу", vbInformation Sh.Delete Application.DisplayAlerts = True End Sub
Еще один способ запретить пользователям добавлять листы — выбрать команду Сервис → Защита → Защитить книгу (Tools → Protection → Protect Workbook). Удостоверьтесь, что флажок Структуру (Structure) установлен, и щелкните на кнопке ОК. Однако, как мы уже упоминали в начале этого раздела, стандартная защита рабочих листов в Excel — это весьма грубый инструмент, который одновременно блокирует и множество других возможностей Excel.
Читайте также: