Как отобразить скрытые макросы в excel

Обновлено: 07.07.2024

В Excel вы можете изменять параметры безопасности макросов, определяя, какие макросы и при каких обстоятельствах должны выполняться при открытии книги. Например, можно разрешить выполнение макроса в зависимости от наличия цифровой подписи надежного разработчика.

Дополнительные сведения о параметрах безопасности макросов в документах Microsoft Office см. в статье Включение и отключение макросов в файлах Office.

Ниже приведен список различных параметров безопасности макросов. Если установлена антивирусная программа, работающая с Microsoft Office, то помимо всех параметров книга, содержащая макросы, перед открытием проверяется также на наличие известных вирусов.

Отключить все макросы без уведомления. Выберите этот параметр, если не доверяете макросам. Все макросы в документе и предупреждения о безопасности макросов отключаются. Если у вас есть документы, содержащие неподписанные макросы, которым вы доверяете, эти документы можно поместить в надежное расположение. Документы из надежных расположений разрешается выполнять без проверки системой центра управления безопасностью.

Отключить все макросы с уведомлением. Этот параметр задан по умолчанию. Выберите этот вариант, если хотите отключить макросы, но при этом получать предупреждения о безопасности, если макросы есть. Так вы можете в каждом конкретном случае решать, стоит ли включать эти макросы.

Отключить все макросы кроме макросов с цифровой подписью. Этот параметр подобен параметру Отключить все макросы с уведомлением, не считая того, что макрос с цифровой подписью надежного издателя может выполняться, если вы уже доверяете этому издателю. Если издатель не считается надежным, вы получаете уведомление. Так вы можете выбрать, следует ли включить эти подписанные макросы и выразить доверие издателю. Все макросы без подписи отключаются без уведомления.

Включить все макросы (не рекомендуется, возможен запуск опасной программы). Выберите этот параметр, чтобы разрешить выполнение всех макросов. В таком случае ваш компьютер становится уязвимым для потенциально опасного кода, поэтому этот вариант не рекомендуется.

Доверять доступ к объектной модели проектов VBA Этот параметр используется для разработчиков и используется для преднамеренной блокировки или блокировки программного доступа к объектной модели VBA из любого клиента автоматизации. Другими словами, он обеспечивает параметр безопасности для кода, который создается для автоматизации программы Office и программного управления средой и объектной моделью Microsoft Visual Basic для приложений (VBA). Этот параметр настраивается для каждого пользователя и каждого приложения и по умолчанию не имеет доступа. Этот параметр безопасности затрудняет несанкционированный доступ к созданию кода "саморекопирования", который может навредить системам конечных пользователей. Чтобы любой клиент автоматизации мог получить доступ к объектной модели VBA программным путем, пользователь, работающий с кодом, должен явно предоставить доступ. Чтобы включить доступ, выберите этот квадрат.

В Office используется технология Microsoft Authenticode, позволяющая создателям макросов добавлять цифровую подпись в файл или проект макроса. Сертификат, используемый для создания подписи, подтверждает, что макрос или документ создан автором подписи, а подпись подтверждает, что макрос или документ не был изменен.

Установив свой цифровой сертификат, вы можете подписывать файлы и макросы.

Получение цифрового сертификата для подписания

Цифровой сертификат можно получить в коммерческом центре сертификации (ЦС) или у администратора безопасности локальной сети либо ИТ-специалиста.

Дополнительные сведения о центрах сертификации, обслуживающих продукты Майкрософт, см. в списке участников программы корневых сертификатов Майкрософт.

Создание своего самозаверяющего цифрового сертификата

С помощью программы Selfcert.exe вы можете создать свой самозаверяющий сертификат.

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

Дополнительные сведения о добавлении цифровой подписи к макросам см. в статье Подписание макроса.

Изменение параметров безопасности макросов

Вы можете изменять параметры безопасности макросов в центре управления безопасностью, если только системный администратор в вашей организации не запретил это, изменив настройки по умолчанию.

На вкладке Разработчик в группе Код нажмите кнопку Безопасность макросов.

Вкладка "Разработчик" на ленте

Чтобы включить вкладку "Разработчик", см. раздел Отображение вкладки "Разработчик".

В категории Параметры макросов в разделе Параметры макросов выберите нужный вариант.

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

Доступ к центру управления безопасностью также можно получить из окна "Параметры Excel". Для этого нажмите кнопку Параметры (Excel 2010–2016) или кнопку Microsoft Office (Excel 2007), а затем выберите центр управления > Центр управления Параметры >Макрос Параметры.

Дополнительные сведения о безопасности макросов см. в следующих статьях:

Устранение неполадок

Не удается изменить параметры безопасности макросов

Некоторые пользователи не могут изменять параметры центра управления безопасностью из-за групповых политик безопасности в их организациях. В таких случаях необходимо обратиться к ИТ-администратору организации.

Что случилось с параметрами безопасности "Очень высокий", "Высокий", "Средний" и "Низкий"?

Параметр Excel 2003

Эквивалент в Excel 2007/2010/2013/2016

Дополнительные сведения

Отключить все макросы без уведомления

В Excel 2003 макросы VBA выполняются только при условии, что выбран параметр "Доверять всем установленным надстройкам и шаблонам" (в Excel 2003 на вкладке "Надежные издатели" в диалоговом окне "Безопасность") и макросы (с подписью или без) хранятся в определенной надежной папке на жестком диске пользователя.

Если эти условия не соблюдены, то при использовании параметра "Очень высокий" макросы VBA не выполняются в Excel 2003.

Отключить все макросы кроме макросов с цифровой подписью

В Excel 2003 могут выполняться только исполняемые файлы (EXE или COM), подписанные утвержденным надежным источником (то есть имеющие сертификат). В противном случае все исполняемые модули, связанные с документами или внедренные в них, автоматически отключаются без предупреждения, когда пользователь открывает документы.

При установке всех приложений Office 2003 по умолчанию задается параметр "Высокий".

Отключить все макросы с уведомлением

В Excel 2003 пользователям при открытии документа предлагается включить или отключить исполняемые модули. На этом уровне необходимо принять сертификат для каждого исполняемого модуля, добавив сертификат в соответствующий сегмент реестра на компьютере под управлением Windows.

Последующие запросы на выполнение макроса от надежного источника принимаются автоматически (исполняемые модули выполняются без предварительного запроса пользователя).

Включить все макросы (не рекомендуется, возможен запуск опасной программы)

В Excel 2003 все макросы выполняются без ограничений. Этот уровень безопасности не защищает от вредоносных программ, не позволяет принимать сертификаты и не считается безопасным в целом. Этот уровень использовать не рекомендуется.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Макрос представляет собой набор команд, с помощью которых можно автоматизировать выполнение повторяющейся задачи. В этой статье описаны риски, связанные с использованием макросов, и приведены инструкции по включению и отключению макросов в центре управления безопасностью.

Предупреждение: Никогда не в включаете макрос в файле Office, если вы не знаете, что они делают. Непредвиденные макросы могут представлять значительную угрозу безопасности. Для этого не нужно, чтобы макрос мог видеть или редактировать файл. только в том случае, если вам нужны функции, предоставляемые макросом.

Сведения о создании макросов см. в статье Краткое руководство: создание макроса.

Если вам нужно узнать, как использовать макрос на компьютере с Windows S, см. Office в Windows 10 S.

Что такое макрос, кто их создает и в чем заключается угроза для безопасности?

Макросы служат для автоматизации часто выполняемых задач, что позволяет сэкономить время за счет сокращения объема работы с клавиатурой и мышью. Многие из них созданы с использованием языка Visual Basic для приложений (VBA). Однако некоторые макросы представляют угрозу безопасности. Макрос часто используется злоумышленниками для бесшумной установки вредоносных программ, например вирусов, на компьютер или в сеть организации.

Включить макрос только для текущего сеанса

Выполнив приведенные ниже инструкции, можно включить макросы на то время, пока открыт файл. Если закрыть файл и открыть его снова, предупреждение появится опять.

Откройте вкладку Файл.

В области Предупреждение системы безопасности нажмите кнопку Включить содержимое.

Выберите элемент Дополнительные параметры .

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

Изменение параметров макросов в центре управления безопасностью

Параметры макросов доступны в центре управления безопасностью. Однако администратор организации может изменить настройки по умолчанию, чтобы запретить изменение каких-либо параметров.

Важно: При изменении параметров макроса в центре управления доверием они изменяются только для Office, которую вы используете в данный момент. Параметры макроса не меняются для всех Office программ.

Откройте вкладку Файл.

Щелкните Параметры.

Затем выберите пункты Центр управления безопасностью и Параметры центра управления безопасностью.

В центре управления безопасностью щелкните элемент Параметры макросов.

Область "Параметры макроса" центра управления безопасностью

Сделайте нужные выборки и нажмите кнопку ОК.

Примечание: Параметры немного отличаются в Excel, мы будем звонить из них по мере того, как мы будем звонить.

Отключить все макросы без уведомления. Этот параметр отключает макросы и связанные с ними оповещения безопасности.

В Excel этот параметр отключение макроса VBA без уведомления и применяется только к макросам VBA.

Отключить все макросы с уведомлением. Этот параметр отключает макросы без отключения оповещений системы безопасности, которые будут появляться при необходимости. Так вы можете включать макросы, когда это требуется.

В Excel этот параметр отключение макроса VBA с уведомлением и применяется только к макросам VBA.

Отключить все макросы кроме макросов с цифровой подписью Макрос отключен, и при этом отображаются оповещения системы безопасности, если есть неподписаные макросы. Однако если макрос имеет цифровую подпись надежного издателя, макрос просто запускается. Если макрос подписан издателем, которому вы еще не доверяете, вам будет предоставлена возможность включить подписанный макрос и доверять издателю.

В Excel этот параметр отключение макроса VBA за исключением макроов с цифровой подписью и применяется только к макросам VBA.

Включить все макросы (не рекомендуется, советуем выполнить потенциально опасный код) Все макросы запускались без подтверждения. Компьютер становится уязвимым для потенциально опасных программ.

В Excel этот параметр включает макрос VBA (не рекомендуется, советуем запускать потенциально опасный код), и он применяется только к макросам VBA.

Excel также естьExcel включить макросExcel 4.0при включенном макросах VBA. Если установить этот параметр, все вышеперечисленные параметры макроса VBA также будут применяться Excel 4.0 (XLM).

Если этот снимок не был выбран, макрос XLM отключается без уведомления.

Доверять доступ к объектной модели проектов VBA Отопустить или разрешить программный доступ к объектной модели Visual Basic для приложений (VBA) из клиента автоматизации. Этот параметр безопасности для кода, который позволяет автоматизировать Office и управлять средой и объектной моделью VBA. Этот параметр настраивается как для каждого пользователя, так и для каждого приложения и по умолчанию не позволяет неавторизованным программам создать вредоносный код самостоятельной репликации. Чтобы клиенты автоматизации получили доступ к объектной модели VBA, пользователь, работающий с кодом, должен предоставить доступ. Чтобы включить доступ, выберите этот квадрат.

Примечание: В Microsoft Publisher и Microsoft Access параметр Доверять доступ к объектной модели проектов VBA отсутствует.

Всем привет! Я обычный пользователь MS Excel. Не являющийся профессиональным программистом, но накопивший достаточно опыта, для установки и обхода защиты проектов VBA.

Дисклеймер:

В данной статье рассмотрены виды защиты проектов VBA, от несанкционированного доступа. Их сильные и слабые стороны – ранжирование.

Цель статьи показать слабые и сильные стороны каждого вида защиты проекта VBA в MS Office.

Демонстрация разработанных инструментов, в надстройке Macro Tools VBA, для снятия и установки той или иной защиты.

Все инструменты реализованы стандартными средствами VBA, без использования дополнительных библиотек.


Первый вид защиты — Обычный пароль

Время на снятие: мгновенно

Недостаток: быстрый доступ к запароленному модулю VBA

Стандартный инструмент (В среде VBE: панель Tools -> VBAProject Properties -> Protection).

Самая легко снимающаяся защита. В интернете легко находится код, для снятия данной защиты.

Данную защиту можно снять следующим инструментом:


Второй вид защиты — Project is Unviewable

Время на снятие: от 10 до 15 мин (в ручную)

Недостаток: доступ к исходному коду модуля VBA



Большинство пользователей Excel, не могут снять данную защиту, так как она имеет множество вариации и нюансов, для ее снятие нужно иметь представление о внутренней структуре файла Excel.

Основан, данный вид защиты, на изменение ключей:

в файле vbaProject.bin .


Кратко, как создается данная защита

Для создания данной защиты нужно, разархивировать файл Excel. Перейти в архиве в папку xl, открыть файл vbaProject.bin, в конце файла находятся наши ключи, редактируем значения ключей на пусто, сохраняем файл. Переводим наш архив, обратно в файл Excel. Готово!

Это самый простой вариант данной защиты, но существует множество модификаций.

Алгоритм снятия защиты Project is Unviewable.

1) Разархивируем подопытный файл, переходим в файл …\xl\_rels\workbook.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, запрет сохранения и прочее.


7) Открываем проект VBA. После всего, проект VBA должен быть доступен.

8) Но иногда защита не снимается, тогда нужно сохранить файл, проверить, что он действительно сохранился! И проделать повторно операции с 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\_rels\workbook.xml.rels. В конце файла удаляются строки вида: Module1=32, 32, 635, 330, Z. С нужными названиями модулей.


Для снятия данной защиты нужно в файле vbaProject.bin — восстановить удаленные записи модулей.

Данную защиту можно установить следующим инструментом.


Четвертый вид защиты — Обфускация кода

Время на снятие: неизвестно, зависит от объема кода и пере использования частей кода


Обфусцированный код VBA

Недостаток: необходимость тестирование файла после обфускации, на работоспособность

Крайне редкий вид защиты, основанный на изменении исходного кода VBA, в не удобочитаемый вид для человека. Удаляются все комментарии, форматирование кода, переименовываются названия всех переменных, процедур, функций, модулей и прочего. Злоумышленнику никогда не удастся восстановить первоначальный вид кода, и потребует достаточно много времени для, его восстановления в удобно читаемый вид для человека.

Для де-обфускации кода нужно иметь время, специализированное ПО.

Данную защиту можно установить следующим инструментом.


Пятый вид защиты — Перенос кода в dll

Время на снятие: неизвестно, зависит от языка программирования и квалификации

Недостаток: необходимости в дополнительном файле dll

Один из самых редких видов защиты. Основная идея перенос основного кода в отдельную библиотеку dll, написанную на любом другом языке программирования. Не распространённость данный вид защиты получил по следующей причине, необходимости за файлом Excel, «таскать» дополнительный файл, dll.

Есть excell файл (.xlsm) в котором срабатывает программа: генерация случайных чисел в определенных ячейках при сохранении документа. Возникла необходимость внести изменения в программу. Но не могу никак вывести код. Вкладка Разработчик есть, параметр "Включить все макросы (не рекомендуется, возможен запуск опасной программы)" выбран. Но в окне макросов пусто. И при Alt F11 тоже пустое окно открывается. Подскажите, пожалуйста, как открыть код?
Знания экселя на самом примитивном уровне.

  • Вопрос задан более двух лет назад
  • 3043 просмотра

BasiC2k

Нужно нажать Alt+F11, потом слева дважды кликнуть по названию файла. Может запроситься пароль или сразу открыться дерево структуры файла (книга, листы, модули, формы и тд). Затем нужно двойным кликом последовательно выбирать элементы структуры. При наличии кода у элемента, Вы его увидите. Если кода нет, значит он может быть в другой книге, надстройке или персональной книге с макросами.

5cbecb05dd1a1799572640.jpg

А где именно слева? Слева ничего нет. Есть название файла на самом верху окна. Клик по нему просто раширяет/сужает само окно. И меню плюс набор иконок.

Если кода нет, значит он может быть в другой книге, надстройке или персональной книге с макросами


Если код где-то в другом месте, то как макрос работает в этой книге? Он же реально отрабатывается.
И как понять где все-таки код?

BasiC2k

5cbee000d4566409276459.jpg

BasiC2k, добралась вот до такого:

перебрала всё, что в правом селекте. Пусто. Там даже нет выбора опции, похожей на то что надо: типа BeforeSave :(

Читайте также: