Как заставить пользователей сохранять как книгу с поддержкой макросов?
Создание макросов в книгах MS Excel и установка их парольной защиты
Откроется приложение MS Excel 2010. Убедитесь, что на ленте строки меню доступна вкладка Разработчик. Если вкладки Разработчик нет, необходимо ее включить: выполните команду Файл/Настройки, перейдите на вкладку Настройка ленты и установите соответствующий флажок в группе Основные вкладки. Нажав кнопку OK, вы выйдете из окна Настройки.
3. Создайте новую книгу MS Excel. Установите границы выделенной области и закрасьте ее случайным цветом с помощью макроса:
— Выберите любую область с клетками в книге.
· Перейти на вкладку Разработчик на ленте панелей и нажать кнопку Запись макроса. В окне Запись макроса ввести имя макроса Граница_и_заливка (без пробелов!) и нажать ОК. В режиме редактирования макроса на панели инструментов вместо кнопки записи макроса появится кнопка остановки редактирования макроса
Остановить запись. Все действия, совершенные до остановки записи макроса, будут записаны в код макроса.
· На вкладке Главная установите цвет заливки и тип границ ячеек.
Выполните команду Остановить запись на вкладке Разработчик.
4. Выберите другую область, щелкните команду Макросы на вкладке Разработчик, выберите макрос Border_and_fill в командном окне, а затем щелкните Выполнить. В выбранной области должна появиться граница и измениться ее фон.
5. Сохраните книгу с созданным макросом в рабочей папке, выбрав при сохранении тип файла Книга Excel с поддержкой макросов (*.xlsm).
6. Запретить выполнение ненадежных макросов, для чего на вкладке Разработчик выполнить команду Безопасность макросов, в окне команды выбрать вкладку Параметры макросов, установить переключатель в позицию Отключить все макросы с уведомлением и нажать ОК.
7. Закройте рабочую книгу и снова откройте ее в MS Excel, убедившись в появлении уведомления о деактивации макроса (рис. 26).
Рисунок 26. Уведомление о безопасности для отключения макросов
8. Убедитесь, что макрос отключен после открытия книги (он не будет выполняться).
9. Защитите отображение и изменение созданного макроса паролем:
— Перейдите в режим редактирования макроса в проекте VBA, нажав на кнопку Visual Basic на панели инструментов разработчика.
· Выполнить команду Tools/VBAProject Properties, выбрать вкладку Protection(Защита), установить флажок параметра Lock project for viewing (Запрет просмотра проекта) и ввести пароль high в строку Password (пароль) и Confirm password (подтверждение пароля). Нажать ОК.
— Сохраните изменения в редакторе Visual Basic и закройте окно редактора и макросника1.
10. Снова откройте книгу с макросом1 и проверьте, что проект защищен:
Если вы попытаетесь открыть проект, дважды щелкнув по имени проекта в окне Project-VBA Project редактора VBA, вы увидите проект.
— На экране появится окно ввода пароля. Если ввести высокий пароль и открыть окно Project-VBA Project, можно просмотреть код макроса в группе Modules.
11. Создайте другую рабочую книгу MS Excel с именем Рабочая книга с макросом2, содержащую макрос Шрифт, который устанавливает для выделенной области ячеек полужирный курсив и размер 12.
Задача 2. Создайте два цифровых сертификата. Изучите, как реагирует Excel при открытии ранее созданных книг MS Excel.
Как создавать, изменять и выполнять макросы в Excel
Использование макросов в Excel позволит значительно улучшить контроль и эффективность обработки информации, поскольку многие из тех же действий, которые мы должны повторять, могут быть закодированы в виде серии специальных инструкций, которые решают эту задачу. В этой статье мы рассмотрим, как создать новый макрос, а также как изменить существующий.
Создание макросов
Макросы в Excel можно создавать вручную или автоматически. Последний вариант предполагает запись действий, которые вы выполняете в программе, чтобы их можно было повторить. Это довольно простой метод, пользователю не нужно обладать какими-либо знаниями в области кодирования и т.д. Однако по этой причине не всегда возможно использовать этот метод. Однако по этой причине его не всегда можно использовать.
Чтобы создавать макросы вручную, необходимо знать, как программировать. Но иногда этот метод является единственным или одним из немногих вариантов эффективного решения поставленной задачи.
Метод 1: Записываем макрос в автоматическом режиме
Перед записью макросов Excel должен быть настроен на автоматическую запись.
О том, как отключать и включать макросы в Excel, рассказывается в нашей статье «Как включить макрос в Excel».
Как только макросы будут включены, мы можем перейти к основной задаче.
- Переключаемся во вкладку “Разработчик”. В группе инструментов “Код” щелкаем по значку “Записать макрос”.
- На экране появится окошко, в котором мы можем выполнить настройки записи. Здесь указывается:
- имя макроса – любое, но должно начинаться с буквы (не с цифры), не допускаются пробелы.
- комбинация клавиш, которая будет использоваться для запуска макроса. Обязательной является Ctrl, а вторую мы можем назначить в специальном поле. Допустим, пусть это будет клавиша “r”. Если нужно использовать заглавную букву, нужно зажать клавишу Shift, которая будет добавлена в сочетание клавиш.
Запускаем выполнение макроса
Чтобы проверить, работает ли записанный макрос, выполните следующие действия.
- В той же вкладке (“Разработчик”) и группе “Код” нажимаем кнопку “Макросы” (также можно воспользоваться горячими клавишами Alt+F8).
- В отобразившемся окошке выбираем наш макрос и жмем по команде “Выполнить”.
Примечание: Есть более простой вариант запустить выполнение макроса – воспользоваться сочетанием клавиш, которое мы задали при создании макроса.
Корректируем макрос
Созданный макрос может быть изменен. Обычно к такой необходимости приводят ошибки в написании. Вот как можно отредактировать макрос:
- Нажимаем кнопку “Макросы” (или комбинацию Ctrl+F8).
- В появившемся окошке выбираем наш макрос и щелкаем “Изменить”.
- На экране отобразится окно редактора “Microsoft Visual Basic”, в котором мы можем внести правки. Структура каждого макроса следующая:
- открывается с команды “Sub”, закрывается – “End Sub”;
- после “Sub” отображается имя макроса;
- далее указано описание (если оно есть) и назначенная комбинация клавиш;
- команда “Range(“…”).Select” возвращает номер ячейки. К примеру, “Range(“B2″).Select” отбирает ячейку B2.
- В строке “ActiveCell.FormulaR1C1” указывается значение ячейки или действие в формуле.
- Давайте попробуем скорректировать макрос, а именно, добавить в него ячейку B4 со значением 3. В код макроса нужно добавить следующие строки:
Range(«B4»).Select
ActiveCell.FormulaR1C1 = «3» - Для результирующей ячейки D2, соответственно, тоже нужно изменить начальное выражение на следующее:
ActiveCell.FormulaR1C1 = «=RC[-2]*R[1]C[-2]*R[2]C[-2]» .Примечание: Обратите внимание, что адреса ячеек в данной строке (ActiveCell.FormulaR1C1) пишутся в стиле R1C1.
- Когда все готово, редактор можно закрывать (просто щелкаем на крестик в правом верхнем углу окна).
- Запускаем выполнение измененного макроса, после чего можем заметить, что в таблице появилась новая заполненная ячейка (B4 со значением “3”), а также, пересчитан результат с учетом измененной формулы.
- Если мы имеем дело с большим макросом, на выполнение которого может потребоваться немало времени, ручное редактирование изменений поможет быстрее справиться с задачей.
- Добавив в конце команду Application.ScreenUpdating = False мы можем ускорить работу, так как во время выполнения макроса, изменения на экране отображаться не будут.
- Если потребуется снова вернуть отображение на экране, пишем команду: Application.ScreenUpdating = True .
- Добавив в конце команду Application.ScreenUpdating = False мы можем ускорить работу, так как во время выполнения макроса, изменения на экране отображаться не будут.
- Чтобы не нагружать программу пересчетом после каждого внесенного изменения, в самом начале пишем команду Application.Calculation = xlCalculationManual , а в конце – Application.Calculation = xlCalculationAutomatic . Теперь вычисление будет выполняться только один раз.
Метод 2: создание макроса вручную
Многие пользователи Excel предпочитают в некоторых случаях писать макросы полностью вручную от начала и до конца. План действий следующий:
- Во вкладке “Разработчик” нажимаем на значком “Visual Basic” (группа инструментов “Код”).
- В результате, на экране появится уже знакомое окно, которое мы рассмотрели выше.
- Здесь создается макрос и пишется ее код – полностью вручную.
Заключение
Таким образом, используя макросы в таблицах Excel, вы можете повысить производительность и скорость работы. Вы можете создавать их автоматически, просто записывая выполняемые вами действия или написав код с нуля. Вы также можете изменить ранее созданный макрос и при необходимости скорректировать аспекты его работы.
Как снять защиту с листа Excel
Иногда я получаю файлы Excel со страницами, защищенными от редактирования. Это один из способов, которым авторы защищают свой документ. То, что показано на рисунке ниже, возможно, если у вас есть пароль.
Но эта статья для тех, у кого нет пароля и кому нужно снять защиту с листов Excel.
Как снять защиту от редактирования с листа книги Excel с помощью офисного пакета программ OpenOffice
Это самый простой способ снятия защиты. Достаточно открыть файл Excel в редакторе таблиц OpenOffice Calc и снять галочку в меню «Сервис -> Защитить документ -> Лист». При этом не нужно вводить никаких паролей и т.д. Да, да — это всё. Осталось только сохранить разблокированный файл Excel.
Видимо, разработчикам OpenOffice наплевать на схему защиты MicroSoft. Кстати, аналогичные манипуляции с другим бесплатным пакетом LibreOffice не принесут желаемого результата. Таким образом, для разблокировки у вас попросят пароль, как это было с оригинальным MicroSoft Office.
Мы разблокировали, используя OpenOffice версии 4.1.2 от 28 октября 2015 года.
Как снять защиту от редактирования листа Excel с помощью макроса MicroSoft Office
Мы снимем защиту от редактирования с листов Excel с помощью самого Excel. В этом нам поможет встроенная поддержка макросов.
Если вы не видите вкладки разработчика, включите ее в настройках:
Затем выбираем пункт «Макросы» на вкладке для разработчиков:
Вводим название нашего макроса и нажимаем кнопку «Создать»:
В появившемся окне
Вставить следующий код:
Что-то вроде этого должно быть доступно для вас:
Закройте основное окно:
снова нажимаем на вкладке для разработчиков кнопку «Макросы»
и в появившемся окне нажимаем кнопку «Выполнить»
Через некоторое время вы получите сообщение о том, что все готово:
Остается только сохранить файл. Затем Excel спросит вас, хотите ли вы сохранить макрос:
Для такой разблокировки был использован Microsoft Office Excel 2010.
Разблокировка с помощью архиватора и текстового редактора
Это способ для тех, кто хочет знать как защита от редактирования устроена изнутри.
Измените расширение файла XLSX на ZIP.
Если у вас есть файл в формате XLS, сначала сохраните его в формате XLSX, чтобы использовать этот метод.
Откройте файл в архиваторе, я использую бесплатную программу BandZip.
Распакуйте необходимый лист из книги Excel используя путь в архиве «xl -> worksheets».
Откройте полученный файл, к примеру sheet1.xml в любом текстовом редакторе, можно даже в блокноте.
Найдите в тексте секцию X LSX должно быть расширением архива. Теперь этот файл доступен для редактирования в MicroSoft Office Excel. В рабочих книгах Excel, содержащих защищенные листы, вам придется выполнить эту процедуру для каждого листа, защищенного от редактирования. Защита слабенькая. Обходится просто. Я проверил все три способа, все они рабочие. На мой взгляд самый удобный — это использовать OpenOffice. Правда у него есть особенность, Open Office не умеет сохранять файлы в формате XLSX, только в более старом формате XLS.Выводы о защите от редактирования листов книги Excel