Обнаружены вредоносные макросы как отключить excel
Если вы работаете с книгами Excel древних форматов (таких, например, как Excel 4),
то в Excel 2010 вы можете столкнуться с проблемой, что редактирование этих файлов по-умолчанию запрещено.
В настройках Excel 2010 для этого предусмотрены специальные опции (скриншот)
Мало того, что Excel блокирует редактирование этих устаревших файлов,
так ещё и макросы начинают вести себя очень странно
(например, если активен файл Excel4, простейший макрос чтения пути текущего файла не запускается)
Избежать проблем при работе с такими файлами (а проблемы возможны, если вы обрабатываете макросом множество файлов, полученных от разных организаций), можно, если при открытии надстройки (файла с макросами) выполнить следующий код:
Достаточно поместить вызов этого макроса в процедуру Workbook_Open, - и ограничения будут сниматься при каждом запуске вашей надстройки.
Аналогично можно сделать макрос, включающий опцию «Доверять доступ к объектной модели проектов VBA»:
Этот код припишет в реестре Windows (в ветке с настройками безопасности Excel) необходимые параметры, и вы макросом сможете обращаться к свойствам проекта VBA
(например, чтобы выгрузить код макросов в текстовый файл, изменить кодовое имя листа или программно отредактировать код макросов, программно добавить элементы управления на форму, и т.д. и т.п.)
Отключить доступ тоже можно - достаточно поменять в макросе записываемое в реестр значение (с 1 на 0):
Многие пользователи надстроек (и других файлов Excel, содержащих макросы), при каждом запуске книги Excel во всплывающем окне жмут кнопку «Включить макросы».
Чтобы избавить пользователя от ежедневного уведомления об «опасных» макросах, можно использовать такой код:
После выполнения этого макроса, уровень безопасности в Excel будет изменен на «низкий» (при следующем запуске Excel), и уведомления об отключенных макросах (с предложением их включить) появляться не будут.
PS: C одной стороны, нехорошо без уведомления пользователя изменять настройки безопасности его программ.
Но, с другой стороны, макровирусов давно нет, а я сам не пишу вредоносные программы, так что считаю использование такого макроса допустимым.
Комментарии
Добрый день. Я собираюсь распространять некие рекомендации на каждый день в формате эксель.
Довольно частая проблема - блокирована работа макросов + старые версии эксель.
Пожалуйста напишите мне код в котором при открытии книги я разрешаю работу макросов для этой книги.
Для других, я так понимаю разрешения не будет. но, мне надо, что бы это работало "железно" и у всех.
И еще одна проблема. Одна из моих пользовательниц пользуется яблочным компьютером. Там макросы вообще не идут. Делать что?
Чтобы избавить пользователя от ежедневного уведомления об «опасных» макросах, можно использовать такой код:
-----------------------------------------
Sub Enable_AccessVBOM_and_Macro()
On Error Resume Next
Key$ = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & Application.Version & _
"\Excel\Security\"
' включаем программный доступ к объектной модели проекта VBA
CreateObject("WScript.Shell").RegWrite Key$ & "AccessVBOM", 1, "REG_DWORD"
' ставим низкий уровень безопасности (применится после перезапуска Excel)
CreateObject("WScript.Shell").RegWrite Key$ & "VBAWarnings", 1, "REG_DWORD"
End Sub
-----------------------
Достаточно поместить вызов этого макроса в процедуру Workbook_Open
======================================================================
Сам нашёл создаем параметр тут
[HKEY_CURRENT_USER\ Software\Microsoft\ Office\14.0\word\security]
Подскажите при добавлении в реестр строку [HKEY_CURRENT_USER\ Software\Policies\Microsoft\ Office\14.0\word\security]
"VBAWarnings"=dword:00000004 (при любом значении)
в самом ворде меню "параметры макросов" становиться не активной, как её оставить активной?
С хабра - "Исследователями в области информационной безопасности был обнаружен новый тип ransomwave — вредоносной программы, шифрующей пользовательские файлы и требующей выкуп в bitcoin. Новый криптовымогатель, который сами создатели назвали «locky», распространяется не совсем стандартным для подобного ПО способом — при помощи макроса в Word-документах. " , так что срочно закрываем макросы
Так! У мене була таже проблема! При програмном створенні нової книги потрібно було вставити в неї макрос і процедуру автозапуску макросу WorkBook_Open або Auto_Open цієї книги в подальшому при відкритті книги. Для цього потрібно встановити довірений доступ до проекту! Приклад функції Disable_AccessVBOM автора статті не деє належного результату: тобто після виконання тієї функції та подальшому зверненні до проекту книги для запису процедур (макросів) спливало повідомлення про помилку: "доступ до проекту не є довіреним . ". Запропонована автором статті функція не дає належного результату, як я припускаю, з тієї причини, що в Office встановлений подвійний ключ на управління доступом до проекту, пов'язаний з самою формою "Безпека макросів". Я вирішив проблему, з Божою допомогою, через запуск форми і її управління за допомогою функції SendKeys. Вибачте, я не буду приводити алгоритм у запобігання того. щоб він опинився в злих руках! Якщо у Вас гарні цілі. то експерементуйте.
Уважаемый админ. Снова Я. Недавно переставил Винду (пару часов назад), поставил 7 на всякий случай, чистую. Поставил Офис 2010, но так как должны выгружаться данные из програмки в Excel они не выгружаются все равно. (( Снова моргнет загрузка и тишина. Макросы разрешил, даже в устной форме))) но ничего.
Олег, я знаю в чем проблема (неверное значение 1-2 ключей в реестре Windows),
но мне лень писать вам инструкцию по поиску и правке этих ключей (на своём компе я бы разобрался, но с чужим компом проще не связываться)
Потому, самое простое решение в вашем случае, - снести все Office какие есть, и поставить только один (рекомендую Office 2010)
При этом все эти ключи перезапишутся, - и всё должно заработать.
Если не поможет, - то проблема в самой этой вашей программе, запускающей файл Excel (недостаточно универсальная)
Спасибо большое за внимание к моей проблеме!
Дело вот в чем. До 2010 у меня стоял 2007 Office, была такая же ситуация, я подумал так же что проблема в установке и установил 2010. но как видно это не помогло.
Что может еще так влиять на такого рода действия?
Спасибо.
Олег, в вашем случае макросы ни при чём.
Ваша программа формирует файл Excel, и даёт Windows команду открытия этого файла.
Если файл не открывается, - значит, Excel некорректно установлен
(не прописаны 1-2 параметра в реестре, отвечающие за команду открытия файлов Excel)
Кто подскажет? Ситуация такая. Есть программа в которой делаю различные операции, а когда нажимаю кнопку Print, то должна запуститься Excel 2010 и все данные туда выкладываются . Так вот что, на других компах все норм работает, а у меня жмешь и ничего (на 1сек знак загрузки моргнет и все). Excel не запускается вообще. Макросы разрешены в безопасности. Что здесь может быть, куда необходимо нажимать. )) В Excel я как видите не силен. ((
а если даже после нажатия на "Включить содержимое", макросы не запускаются?
Есть другой вариант (если не хотите пересохранить файл после первого открытия):
код помещаете в модуль временного активного листа, процедуру запуска - в событие активации листа
После выполнения макроса удаляете этот временный лист - он удалится вместе с кодом, и макросов в файле не останется.
Дело в том, что я сделал книгу ексель, в которой находяться: Private Sub Workbook_Open в ЭтаКнига и 2 модуля. Эта книга должна автоматически открываться на 100 разных компьютерах. Задача стоит в том, чтобы по завршении работы программы все макросы удалялись из этой книги (мне это нужно для того, чтобы пользователи, которые будут открывать эту книгу постоянно не сталкивались с вопросом: "Эта книга содержит макросы. ". Программно ставить високий или низкий уровень макросов я не хочу (может у пользователей есть какие-то нюансы работы с ексель)). Версий ексель на этих компьютерах я не знаю, поэтому вариант с сохранением в формате xlsx мне не подходит.
jaroslav, надо перезапустить Excel, чтобы измененные в реестре настройки безопасности вступили в силу
(впрочем, если вручную менять в интерфейсе Excel - часто тоже перезапуск Excel требуется)
Т.е. не получится так, что макрос выполнили, я прям тут же начали программно работать с объектной моделью.
PS: а такие макросы, как Delete_Macroses, вообще не нужны
всё делается на порядок проще, одной строкой кода, - сохранением файла в формате XLSX
(Если нужен другой формат файла, но без макросов, то: создаете программно XLSX методом SAVEAS, закрываете созданный XLSX, открываете снова, сохраняете в нужном формате под нужным именем.)
А макросы, работающие с VBProject, советую использовать только на своем компе (для личных нужд) - где можно поставить галочку в настройках вручную.
Вы пишете:
"Аналогично можно сделать макрос, включающий опцию «Доверять доступ к объектной модели проектов VBA»:
Sub Enable_AccessVBOM() ' включает программный доступ к объектной модели проекта VBA
On Error Resume Next
Key$ = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & Application.Version & _
"\Excel\Security\AccessVBOM"
CreateObject("WScript.Shell").RegWrite Key$, 1, "REG_DWORD"
End Sub
Этот код припишет в реестре Windows (в ветке с настройками безопасности Excel) необходимые параметры, и вы макросом сможете обращаться к свойствам проекта VBA".
Действильно этот макрос прописивает в реестре Windows (в ветке с настройками безопасности Excel) необходимые параметры, но галочку возле Доверять досту к Visual Basic Project в меню Надежные издатели меню Безопасность макросов вкладки безопасность меню Сервис/Параметры в Excel 2003 он не ставит. И при запуске макроса:
Sub Delete_Macroses()
Dim oVBComponent As Object, lCountLines As Long
If ActiveWorkbook.VBProject.Protection = 1 Then
MsgBox "VBProject ." & vbCrLf & _
" "
Exit Sub
End If
For Each oVBComponent In ActiveWorkbook.VBProject.VBComponents
On Error Resume Next
With oVBComponent
Select Case .Type
Case 1
.Collection.Remove oVBComponent
Case 2
.Collection.Remove oVBComponent
Case 3
.Collection.Remove oVBComponent
Case 100
lCountLines = .CodeModule.CountOfLines
.CodeModule.DeleteLines 1, lCountLines
End Select
End With
Next
Set oVBComponent = Nothing
End Sub
выдает ошибку 1004: "Отсутствует доверие к программируемому доступу к проекту Visual Basic". Подскажите, пожалуйста как программно поставить галочку в екселе возле Доверять досту к Visua Basic Project в меню Надежные издатели
По какой-то причине Enable_AccessVBOM() не выполняет, так сказать, полноценный запуск "доступа к объектной модели проекта VBA".
Т.е. макрос срабатывает, ошибок не выдает, но "доступа к объектной модели проекта VBA" все равно не предоставляет. Хотя галочка в соответствующем пункте меню проставляется.
При закрытии файла и последующем его открытии галочки опять нет.
А при запуске макросов в текущем файле выдает ошибку, что "доступ к объектной модели проекта VBA" не предоставлен.
Единственный путь полноценного выполнения макроса, который я нашел, это зайти в настройки, где галочка пункта "доступ к объектной модели проекта VBA" уже стоит и подтвердить нажатием "ОК".
Только тогда все срабатывает как надо.
Protsiv, конечно же, ваш макрос не сработает.
Для того и отключают в Excel макросы, чтобы они не запускались.
Для чего был написан этот код: Если пользователь, запустив ваш файл, увидит предупреждение о макросах, и нажмёт кнопку «Включить макросы для этого файла»,
то тогда (и только в этом случае) код сработает - и в следующий раз пользователь не будет видеть предупреждения о макросах.
Ну а если пользователь откажется от включения макросов - тут ничего не сделать, придётся запускать аналогичный код из скрипта VBS или приложения EXE.
Лично я в таких случаях поступаю проще: скрываю заранее все листы файла, оставляя только один видимый лист - инструкцию по включению макросов.
Тут у пользователя выбора нет - либо работать с файлом с макросами, либо вообще не пользоваться файлом.
Вставил этот макрос в Private Sub Workbook_Open()
Но ведь он даже не начинает выполняться, поскольку установлен высокий уровень безопасности, не говоря уже об автоматическом перезапуске Экселя.
Может я что-то делаю не так?
Александр, проблема решается путем исправления макроса.
Если макрос нормально написан - для него не должно быть разницы, защищены файлы, или нет.
Если есть необходимость - можете заказать доработку того макроса, или написание нового, под ваши нужды.
Суть проблемы - есть более 100 файлов excel, в каждом по одному листу, на книге установлена защита без пароля, при обработке макросом сбора листов из всех этих книг в одну книгу, он не работает ссылаясь на то, что книги защищены. Вопрос в том как это победить?
В статье речь про другую защиту.
Включить макросы из вашего файла не получится.
Тот код, что вы показали - это скрипт VBS (т.е. отдельный файл)
На ПланетеExcel неоднократно этот вопрос обсуждали - воспользуйтесь поиском.
PS: Если надо распространять файл с макросами, а объяснять способ их включения вы не хотите, - укомплектуйте ваш файл установщиком (файл exe), который скопирует файл Excel в нужную папку, и ярлык для него поместит в папку автозапуска Excel (или в папку Addins)
Тогда макросы будут работать без изменения уровня безопасности Excel.
Нашел вот такой вот СКРИПТ
Sub test()
Dim objXL
Dim Secur
Set objXL = CreateObject("Excel.Application")
objXL.Visible = TRUE
secur = objXL.AutomationSecurity
objXL.AutomationSecurity = 1
objXL.Workbooks.Open ( mid(Wscript.ScriptFullName,1,len(Wscript.ScriptFullName)-8) & "test.xls")
objXL.AutomationSecurity = secur
End Sub
Суть вопроса - в файле есть юзерформа, которая активизируется при открытии файла, но если защита включена, то соответственно форма не появится и необходимо будет сначала выключить защиту (т.е. включить макросы), а уж потом нажать на кнопку "Меню", чтобы отобразилась форма. Программа будет запускаться в большой Холдинг и по этому, чтобы не учить всех сотрудников сети включать макросы - хотелось бы их включать автоматически при открытии файла. Если есть такая возможность дописать код - буду очень Вам благодарен. Т.к. у меня не выходит. Заранее спасибо!
Смотря зачем отключать, и из какого файла.
Если вы хотите получить доступ к коду файла, при открытии которого будет выполняться снятие защиты,
то не знаю, применятся ли настройки сразу
(возможно, придётся макросом закрыть текущий файл, и открыть его снова)
А возможно ли если включена защита - отключить её сразу при открытии файла?
Можно. Это запуск cmd.exe. И запуск из нее Excel после двухсекундной задержки. Если быть точным, не Excel, а предварительно сохраненной рабочей области.
Я извиняюсь, а можно прокомментировать следующую строку кода:
Shell "cmd.exe /c" & "ping -n 2 localhost > null&&start C:\Temp\resume_3.xlw&&del C:\Temp\resume_3.xlw -f"
Пожалуйста!
У этого способа есть явные слабые места. Просто написал первое, что пришло в голову.
Я тоже думаю, что перезапускать Excel в данном случае смысла нет.
Но за код перезапуска Excel - огромное спасибо.
Сам бы не догадался до такого способа.
Осталось только придумать ситуацию, когда подобный перезапуск приложения может быть полезен.
Вообще, я подумал в спокойной обстановке и получается, что нет смысла передергивать Excel.
Это диалоговое окно появляется, если антивирусная программа на вашем компьютере сообщает приложению Office, что макрос Visual Basic для приложений (VBA) или Excel 4.0 (XLM) в файле, предприняты действия, которые антивирусная программа определяет как вредоносные.
Примечание: Excel 4.0 (XLM) — это макрос, созданный на старом языке макроса, который работает только в Excel. Хотя Excel для Microsoft 365 по-прежнему выполняется макрос XLM, мы рекомендуем перенести их на последнюю версию Microsoft Visual Basic для приложений (VBA).
Интеграция AMSI с Office
Функция AMSI доступна в Windows начиная с Windows 10. Эта функция позволяет приложениям, работающим в системе, передавать сведения о действиях сценариев или макроса, запущенных в приложении, в службы антивирусных программ, работающие на компьютере с интерфейсом AMSI. Антивирусная программа затем будет Office, если шаблон действий кажется вредоносным до Office кода.
Если антивирусная программа указывает на то, что макрос выполняет вредоносные действия, Office отобразит это, а затем Office действие без выполнения инструкций злоумышленника.
Если вы видите это диалоговое окно.
Скорее всего, открытый файл пытается выполнить код, который соответствует шаблонам поведения, которые антивирусная программа считает вредоносными.
Если вы считаете, что файл Office неправильно сообщается как вредоносный, вы можете переместить его в расположение, которое является частью функции надежных расположений в Office,добавить текущее расположение файла в надежные расположения или добавить макрос VBAв документ с цифровой подписью .
Примечание: Макрос XLM не может быть подписан.
Если после одного из действий на шаге 2 файл по-прежнему остается вредоносным, возможно, для функции сканирования вредоносных программ runtime настроена проверка всех файлов независимо от уровня доверия. Групповую политику можно использовать для настройки включения сканирования AMSI (см. ниже).
Параметры для функции сканирования вредоносных программ
По умолчанию в Office будет запущено сканирование вредоносных программ для макроса VBA или XLM, запущенного Office файлах.
Есть два исключения:
Файл имеет макрос VBA с цифровой подписью, подписанной надежным поставщиком подписей. Дополнительные сведения см. в документе Цифровая подпись макроса.
Это поведение можно контролировать с помощью параметра групповой политики Область сканирования во время запуска макроса.
Если вы работаете в корпоративной среде, для изменения этого параметра необходимо обратиться к ИТ-администратору.
В 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.
Макросы – это инструмент для создания команд в приложении Microsoft Excel, которые позволяют значительно сократить время на выполнение задач, автоматизировав процесс. Но, в то же время, макросы являются источником уязвимости, которой могут воспользоваться злоумышленники. Поэтому, пользователь на свой страх и риск должен решить применять данную возможность в конкретном случае, или нет. Например, если он не уверен в благонадежности открываемого файла, то лучше макросами не пользоваться, ведь они могут послужить причиной заражения компьютера вредоносным кодом. Учитывая это, разработчики предоставили возможность пользователю самому решать вопрос включения и отключения макросов.
Включение и отключение макросов через меню разработчика
Основное внимание мы уделим процедуре включения и отключения макросов в самой популярной и распространённой на сегодня версии программы — Excel 2010. Потом, более бегло поговорим о том, как это сделать в других версиях приложения.
Включить или отключить макросы в Microsoft Excel можно через меню разработчика. Но, проблема состоит в том, что по умолчанию данное меню отключено. Чтобы его включить, переходим во вкладку «Файл». Далее, кликаем по пункту «Параметры».
В открывшемся окне параметров, переходим в раздел «Настройка ленты». В правой части окна данного раздела устанавливаем галочку около пункта «Разработчик». Жмем на кнопку «OK».
После этого, на ленте появляется вкладка «Разработчик».
Переходим во вкладку «Разработчик». В самой правой части ленты расположен блок настроек «Макросы». Чтобы включить или отключить макросы, кликаем по кнопке «Безопасность макросов».
Открывается окно центра управления безопасностью в разделе «Макросы». Для того, чтобы включить макросы, переставляем переключатель в позицию «Включить все макросы». Правда, данное действие разработчик не рекомендует выполнять в целях безопасности. Так что, всё выполняется на свой страх и риск. Жмем на кнопку «OK», которая расположена в нижнем правом углу окна.
Отключаются макросы тоже в этом же окне. Но, существует три варианта отключения, один из которых пользователь должен выбрать в соответствии с ожидаемым уровнем риска:
- Отключить все макросы без уведомления;
- Отключить все макросы с уведомлением;
- Отключить все макросы, кроме макросов с цифровой подписью.
В последнем случае, макросы, у которых будет иметься цифровая подпись, смогут выполнять задачи. Не забываем жать на кнопку «OK».
Включение и отключение макросов через параметры программы
Существует ещё один способ включения и отключения макросов. Прежде всего, переходим в раздел «Файл», и там жмем на кнопку «Параметры», как и в случае включения меню разработчика, о чем мы говорили выше. Но, в открывшемся окне параметров, переходим не в пункт «Настройка ленты», а в пункт «Центр управления безопасностью». Кликаем по кнопке «Параметры центра управления безопасностью».
Открывается то же самое окно Центра управления безопасностью, в которое мы переходили через меню разработчика. Переходим в раздел «Параметры макросов», и там включаем или отключаем макросы тем же способом, как делали это в прошлый раз.
Включение и отключение макросов в других версиях Excel
В других версиях программы Excel процедура отключения макросов несколько отличается от указанного выше алгоритма.
В более новой, но менее распространенной версии программы Excel 2013, несмотря на некоторую разницу в интерфейсе приложения, процедура включения и отключения макросов происходит по тому же алгоритму, который был описан выше, а вот у более ранних версий он несколько отличается.
Для того, чтобы включить или отключить макросы в программе Excel 2007, нужно сразу кликнуть по логотипу Microsoft Office в верхнем левом углу окна, а затем в нижней части открывшейся страницы нажать на кнопку «Параметры». Далее, открывается окно Центра управления безопасностью, и дальнейшие действия по включению и отключению макросов практически ничем не отличаются от описанных для Excel 2010.
В версии Excel 2007 достаточно просто последовательно перейти по пунктам меню «Сервис», «Макрос» и «Безопасность». После этого, откроется окно, в котором нужно выбрать один из уровней безопасность работы макросов: «Очень высокая», «Высокая», «Средняя» и «Низкая». Эти параметры соответствуют пунктам параметров макросов более поздних версий.
Как видим, включить макросы в последних версиях программы Excel несколько сложнее, чем это было в предыдущих версиях приложения. Это связано с политикой разработчика на увеличение уровня безопасности пользователя. Таким образом, макросы может включить только более или менее «продвинутый» пользователь, который способен объективно оценить риски от выполняемых действий.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Попытка запустить макрос на воспроизведение может оказаться неудачной. Самая распространенная причина того, что после записи макрос не работает заключается в системе безопасности, но давайте по порядку.
Система безопасности Microsoft Office
Microsoft Office снабжен своей собственной системой безопасности. Задача этой системы заключается в противодействии макровирусам. Макровирусы – это вредоносные программы, написанные на языке VBA. Для своего распространения и перемещения от одного зараженного файла к другому макровирусы используют возможности языка программирования. Наибольшее распространение получили макровирусы, созданные для MS Word и MS Excel. Макровирусы — это главная проблема, которую создал язык программирования VBA, встроенный в офисные программы. Безопасная работа с макросами заключается в соблюдении простого правила: запрещать выполнение макросов, если их назначение Вам не известно.
Уровни безопасности
В системе безопасности предусмотрено четыре уровня защиты, для того чтобы их увидеть в MS Word 2003 либо MS Excel 2003, зайдем в меню Сервис/Макрос/Безопасность
Для просмотра уровней системы безопасности в MS Word 2007 и MS Excel 2007 нажимаем кнопку Microsoft Office , далее кнопку Параметры Word (Excel)/Центр управления безопасностью/Параметры центра управления безопасностью, после чего появится окно настройки параметров макросов. Описания уровней безопасности говорят сами за себя.
Цифровые подписи макросов
Особый интерес в окне "Центр управления безопасностью" представляет опция "Отключить все макросы кроме макросов с цифровой подписью". Выбрав эту опцию, Вы сможете спокойно запускать макросы, которые вы создали и подписали сами. Также можно использовать "Надежные расположения", где Вы можете хранить проверенные и надежные макросы и надстройки.
Надежные расположения
Добавлю несколько слов о разделе "Надежные расположения". В этом разделе прописываются пути к папкам, которые считаются надежными источниками для открытия файлов. Надежные расположения можно добавлять, удалять, изменять и отключать. Использование надежных расположений также снизит вероятность возникновения проблем при выполнении макросов. Добавляются надежные расположения в параметрах центра управления безопасностью. На видео показано как добавить надежные расположения в Microsoft Excel 2013 , но в других версиях и в других приложениях всё делается аналогично.
Настройка доступа к объектной модели VBA
И еще один нюанс, для корректной работы макросов и надстроек нужно установить доверие к объектной модели проектов VBA. Сделать это можно следующим образом:
Для приложений Office 2003 – Сервис/Макрос/Безопасность/Надежные издатели/Доверять доступ к Visual Basic Project
Для приложений Office 2007 – Меню/Параметры/Центр управления безопасностью/Параметры центра управления безопасностью/Параметры макросов/Доверять доступ к объектной модели проектов VBA (установить галочку).
В приложениях пакета MS Office 2010 расположение центра управления безопасностью, аналогично расположению его в версии 2007, с той лишь разницей, что кнопка Office изменена на вкладку с названием "Файл", выделенную зеленым цветом.
Таким образом, большую часть проблем связанных с работоспособностью макросов решит установка опции "Доверять доступ к проектам VBA" и некоторое снижение уровня безопасности.
Microsoft Excel – это популярное для работы с таблицами приложение, используемое в офисах и дом.
Microsoft Excel – это популярное для работы с таблицами приложение, используемое в офисах и домах 90% людей. Несмотря на то что программе уже 34 года, новые возможности продолжают добавляться в обновлениях. Поэтому программа до сих пор популярна. Чтобы облегчить себе работу, нужно знать, как работают эти опции. Для начала расскажем о том, что такое макросы, а потом – как включить макросы в Excel 2010, 2007, 2003.
Что такое макрос?
До того как включить макросы в Excel, необходимо узнать, для чего они нужны. Макросы – это сохраненные в строках таблицы заранее созданные последовательности действий с данными. Реализованы на языке VBA, что позволяет работать не только с командами Экселя, но и других приложений Office, поддерживающих этот язык. Используя макросы, можно настроить автоматическое форматирование строк таблицы, отправку по почте, или создание презентации.
Описание параметров макросов
После сохранения макросы содержат пять параметров работы, необходимых для обеспечения защищенности при взаимодействии с ними, так как включить макросы в Excel легко, а избавляться от вирусов – нет.
- Отключить макросы без уведомления. Применяется для таблиц, автор которых неизвестен. Деактивирует сохраненные в ячейках макросы, не предупреждая об этом. Пользуйтесь им при опасности вирусов в таблице.
- Отключить макросы с уведомлением. Этот режим выбран стандартно. Предлагает выключать макросы, но перед этим запрашивает разрешения пользователя. С ним вы сможете решать, оставлять ли, или нет отдельно каждый макрос.
- Отключить макросы, кроме макросов с цифровой подписью. Похож на предыдущий, но автоматически разрешает использование макросов, подписанных цифровой подписью предприятия, доверие которому вы уже подтвердили.
- Включить макросы. Из названия понятно, что параметр разрешает использование макрокоманд, записанных в таблицу.
- Доверять доступ к объектной модели проектов VBA.
Показатель для разработчиков, открывающий доступ таблицы к программам, написанным для модели VBA любого приложения, по желанию пользователя. Это позволяет программисту настраивать, какой код имеет доступ к макросам, и куда макросы могут отправлять данные. При этом взломать или повредить работу команд программиста практически невозможно. Но новичку в VBA лучше не использовать этот параметр.
Как включить макросы в Excel
Существует три версии Экселя, где активация макросов отличается друг от друга. Сначала рассмотрим, как включить макросы в Excel 2010.
Как включить макросы в MS Excel 2010
В 2010 версии Экселя разработчики сделали упор на безопасность, поэтому для включения макросов нужно сделать следующее:
- В верхнем меню приложения нажмите «Файл».
- Откроется список, выбрать предпоследний пункт – «Параметры».
- Нажмите, и попадете в окно «Параметры Excel». Слева перейдите в «Центр управления безопасностью».
- Справа в тексте кликните «Параметры. ».
- Откроется еще одно меню, где нужно выбрать «Параметры макросов».
- Отметьте один из пунктов, нажмите «Ок».
- Закройте и запустите Excel снова, для вступления изменений в силу.
Как включить макросы в MS Excel 2007
Здесь способ не сильно отличается от того, как включить макросы в Excel 2010:
- Перейдите в раздел «Центр управления безопасностью», а затем «Параметры центра. »
- В открывшемся меню отметьте режим работы макросов, который нужен.
Как включить макросы в MS Excel 2003
2003 Эксель уступает в безопасности 2010-му, и включить макросы в нем легче, но важно тщательно проверять файлы на вирусы, пользуясь им. Включить исполнение макросов можно так:
- В открытом приложении нажмите на кнопку «Сервис» в верхнем меню.
- В выпадающем списке нажмите на «Макрос», и «Безопасность».
- Откроется меню безопасности, где нужно отметить уровень безопасности для макросов.
- Нажмите «Ок», и перезайдите в Эксель.
Способы
Включить макрокоманды можно одним из трех путей:
Дополнительный способ работает, когда в Экселе открывается файл, содержащий макрокоманды. В верхней части листа появляется желтая карточка с надписью «Предупреждение системы безопасности». Кликните по «Включить содержимое», и они активируются.
С помощью Backstage
Читайте также: