Как проверить / просмотреть макрос Excel перед «включением макросов» для листа?

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

Однако в Excel 2010 Кнопка «редактировать» в разделе «просмотреть макросы» отключена, если я сначала не включу макросы для листа — но если я сначала включу макросы, то я смогу узнать о вредоносном коде только после того, как этот код завершит работу …

Как просмотреть исходный код макроса перед включением макросов для документа?


Вы можете просмотреть все макросы в документе, используя вкладку «Разработчик» в Word, чтобы обеспечить легкий доступ к подпрограммам Visual Basic, встроенным в документ.

Сначала вам нужно убедиться, что вкладка разработчика включена. Перейдите в Файл -> Параметры, затем:

В разработчике Вкладка, которая должна появиться, теперь должна быть кнопка «Visual Basic», которую вы можете щелкнуть, чтобы перейти в редактор Visual Basic.

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

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

Примечание. Я сделал это в Word, та же функция доступна в Excel, и возможность ее включения находится в том же место.


Во всех версиях всех приложений Office с 2003 г. и, возможно, ранее Alt + F11 откроет редактор VBA. Нет необходимости включать вкладку «Разработчик» на ленте для Office 2007 и новее, чтобы это работало.

1


Хотя ответы от Mokubai и hBy2Py кажутся отличными и действительно позволяют вам показать редактор VBA, похоже, что по крайней мере в Excel от Microsoft Office Professional Plus 2016 по-прежнему не позволяет просматривать код.

Эта версия принадлежит мне, и я был уверен, что получил вредоносный XLS и хотел осмотрите это. После открытия в Excel он открылся в безопасном режиме, как обычно, и, конечно, я не собирался отказываться от этого режима. Когда я открыл редактор VBA, как указывали другие респонденты, мне представили … пустой редактор VBA . Панель «Обозреватель проекта» услужливо отображала «Нет открытых проектов» , хотя я еще не закрыл файл XLS. Просто ради тестирования я открыл второй документ (одна из моих работ), и он сразу же появился в редакторе VBA и (правильно) полностью лишен VBA. Однако документ из Интернета не был указан в редакторе VBA .

Я потратил некоторое время, пытаясь понять, почему это так, и не нашел причин. Похоже, моя версия Excel просто не отправляет модули VBA в редактор VBA, когда документ загружается в безопасном режиме. К сожалению, в редакторе VBA отсутствует некоторая функция «открывать VBA из документа Office», поэтому ясно, что Excel — это мозг, и он должен сначала распаковать/декодировать/независимо от XLS.

Решение оказалось чтобы быть довольно простым.

  1. Щелкните Лента -> Разработчик -> MacroSecurity
  2. в качестве альтернативы Файл -> Параметры -> SecurityCenter ( последняя группа параметров) -> Настройки -> Макросы )
  3. Запомните (или запишите), каковы текущие настройки
  4. Измените их на «Блокировать все макросы без уведомления».
  5. Подтвердите, закройте, повторно откройте документ, снова откройте редактор VBA.
  6. Восстановите исходный настройки, пока вы закончили играть с огнем

Эффекты:

  • уведомление не отображалось
  • документ был полностью загружен
  • макросы не выполнялись
  • Редактор VBA получил модули и представил весь код

Если вам интересно: да, это действительно был вредоносный, крошечный пример:

  Функция marcopoloko () marcopoloko = Left («Конвертер CM в дюймы», 2) + Right («fed.ex»,  4) + "e" + "/c" + numneroop + amagilocardEnd Function'Sub Workbook_Open () 'Если xlTickMarkOutside> 0 Then'Shell marcopoloko + "" "", xlXmlExportSuccess'End If'End Sub  

Кстати. как вы можете видеть, я немедленно закомментировал точку входа и повторно сохранил документ на случай, если я разрешаю запуск макроса в какой-то момент позже.



Редактировать макрос

Для редактирования макроса, прикрепленного к книге Microsoft Excel, вы используете редактор Visual Basic.

Важно: Прежде чем вы сможете работать с макросами, вы должны включить вкладку «Разработчик». Для получения дополнительной информации см. Показать вкладку «Разработчик».

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

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

  1. На вкладке Разработчик на вкладке Код , нажмите Macro Security .

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

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

Редактировать макрос

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

  2. В поле Имя макроса щелкните макрос, который вы хотите изменить.

  3. Нажмите Изменить . Откроется редактор Visual Basic.

Совет. Чтобы получить помощь, пока вы работая в редакторе Visual Basic, в меню Справка щелкните Справка Microsoft Visual Basic или нажмите клавишу F1.

раздел>

Оцените статью
clickpad.ru
Добавить комментарий