Как да защитите макросите в Excel и VBA кода си

  • Конфигурирайте Центъра за доверие, за да контролирате как макросите се активират или блокират във всяка работна книга на Excel.
  • Защитете VBA кода си с парола и, ако е необходимо, подпишете цифрово проектите си със сертификати.
  • Той комбинира надеждни документи, подписи и защита на клетки, за да намали рисковете в споделени регистри и корпоративни среди.

Защита на макроси в Excel

Когато работите с електронни таблици ежедневно, е лесно да изградите огромна система от формули, препратки и автоматизации. В този контекст, макроси в ексел Те се превръщат във вашия най-добър съюзник в избягването на повтарянето на едни и същи задачи. Но както могат да ви спестят часове работа, така могат да бъдат и врата към проблеми със сигурността, ако не се управляват правилно.

Ето защо е толкова важно Защита на макроси в ExcelЗащитата на вашия код, контролирането кой може да го изпълнява, определянето на надеждност на файловете и в крайна сметка балансирането на автоматизацията и сигурността са ключови. По-долу обясняваме как работят макросите по отношение на сигурността, какви опции предлага Excel за тяхната защита, как да ги подпишете цифрово и какви ограничения важат при работа със споделени работни книги и Excel Online.

Какво точно е макрос в Excel и защо може да бъде опасен?

а макрос в Excel Това е, по същество, поредица от инструкции, които програмата изпълнява автоматично, за да извърши повтаряща се задача. Тези инструкции обикновено са написани на Visual Basic за приложения (VBA)Съществуват и по-старите макроси на Excel 4.0 (XLM), които все още се поддържат в определени сценарии.

Този тип автоматизация ви позволява да спестете време и минимизирайте човешките грешкиЗащото вместо да правите едно и също нещо ръчно сто пъти, го програмирате веднъж и го изпълнявате, когато е необходимо. Проблемът е, че същите тези възможности могат да бъдат използвани за злонамерени цели. Например, за изтегляне и инсталиране на зловреден софтуер, промяна на файлове без разрешение или шпиониране на потребителска информация.

От гледна точка на сигурността, всеки файл, съдържащ макроси, който получавате от трети страни, трябва да се счита за потенциално опасно. Поне докато можеш проверете произхода муИменно затова Office включва система за предупреждения, блокиране и доверие в документите. Това предотвратява изпълнението на код без предварителното разрешение на потребителя.

В обобщение, макросите са ключов компонент за автоматизиране на процесите в Excel, но те са и потенциален вектор за атака, така че е препоръчително да... познавам добре всички инструменти че програмата предлага да ги управлява и защитава.

Excel Web

Преобразуване на работна книга в надежден документ, за да се разрешат макроси

Когато отворите Работна книга на Excel който съдържа VBA код или XLM макроси, обикновено предупреждение за сигурност Под лентата. Това известие показва, че файлът съдържа макроси. По подразбиране те няма да се изпълнят, докато не вземете решение.

Ако разпознавате произхода на файла и сте сигурни, че съдържанието е легитимно, можете да направите тази конкретна книга надежден документтака че макросите да се изпълняват, без Excel да ви пита отново всеки път, когато го отворите.

Общият процес в работна книга на Excel е много прост:

  1. Първо кликвате върху Активиране на съдържанието в лентата с предупреждения, която се появява, когато отворите файла.
  2. След това приемате диалоговия прозорец за сигурност, който ви пита дали искате да се доверите на документа. С това потвърждение Excel маркира файла като безопасен.
  3. След като бъде маркиран като надежден, макросите са активирани в тази книга без допълнително уведомление. Това е много удобно, когато винаги работите с едни и същи вътрешни файлове и знаете, че те идват от вашата организация или от източник, на който имате доверие.

Ако искате да спрете да се доверявате на тази работна книга или други файлове, които сте маркирали преди това, няма опция за оттегляне на доверие от един конкретен документ; ще трябва изтриване на всички надеждни документи от опциите за защита на Office, за да се показват предупрежденията отново във всички тях.

Конфигуриране на защитата на макросите от Центъра за доверие

Най-изчерпателният начин за защита на макроси в Excel включва преглед на конфигурацията на Център за довериеТова е панелът, където са групирани всички опции за сигурност, свързани с макроси, активно съдържание, достъп до VBA и други подобни функции.

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

За да получите достъп до опциите за макроси в Центъра за доверие в Excel, обичайният път е следният:

  1. Отваряне на раздела архив.
  2. отидете в опции.
  3. В страничния панел изберете категорията Център за довериеОттам можете да натиснете бутона Настройки на Центъра за доверие и в новия прозорец въведете секцията Макро настройки.
  4. В този раздел ще намерите няколко опции, които определят как Excel да се държи, когато открие макроси във файл. Изборът на правилната опция е от решаващо значение за по-добра среда. много рестриктивно и безопасно или по-гъвкав, но с по-голям риск.

Ще разгледаме подробно всяка от наличните алтернативи, като имаме предвид, че не всички приложения на Office показват точно същите опции като Excel и че някои се отнасят конкретно до VBA макроси макроси за OA Excel 4.0 (XLM).

Макроси в Excel

Опции за конфигуриране на макроси в Excel

В Центъра за доверие ще видите поредица от квадратчета за отметка и бутони за избор, които ви позволяват да решите как да обработвате макроси. Всяка от тези опции се фокусира върху различно ниво на баланс между безопасност и комфорт.

  • Деактивиране на всички макроси без уведомлениеВ този режим не само се предотвратява изпълнението на макроси, но и се скриват предупрежденията за сигурност, така че Excel просто блокира кода, без да показва никакви съобщения на потребителя.
  • Деактивиране на всички макроси с уведомлениеТук Excel все още блокира автоматичното изпълнение на макроси, но ще показва предупреждение за сигурност всеки път, когато отворите файл, който ги съдържа, давайки ви възможност да ги активирате ръчно, ако желаете. Тази настройка предлага разумен баланс, тъй като Избягвайте тихото изпълнение от потенциално опасен код, но същевременно ви позволява да активирате макроси, за които знаете, че са надеждни, с едно или две кликвания, без да се налага постоянно да променяте общите настройки.
  • Деактивирайте всички макроси, освен тези с цифров подписВ този сценарий Excel блокира всички макроси и показва предупреждения за сигурност, ако файлът съдържа неподписан код, но позволява автоматично изпълнение Тези макроси, които имат валиден цифров подпис от издател, на когото вече имате доверие.
  • Активирайте всички макроси (не се препоръчва, може да се изпълни потенциално опасен код)Както подсказва името му, в този режим Excel изпълнява всеки макрос, който намери, без да иска потвърждение, което прави компютъра ви... особено уязвими към зловреден код.

В допълнение към тези четири основни общи опции за поведение, Excel включва поле, свързано със стари макроси. Excel 4.0 (XLM)По-конкретно, можете да намерите подобна опция на Активиране на макроси на Excel 4.0, когато са активирани VBA макроси.

Накрая, опцията е включена в същия този блок Доверяване на достъпа до обектния модел на VBA проект, който регулира дали на други приложения е разрешено автоматично да осъществяват достъп до обектния модел на VBA във вашия Excel.

Защитете с парола VBA кода на вашия макрос

Освен решението дали да се изпълняват макроси, друг ключов аспект на тяхното осигуряване е защитете собствения си кодПо този начин избягваме qтака че други потребители да не могат да го преглеждат, променят или копират без разрешение. Excel ви позволява да зададете парола на ниво VBA проект, за да постигнете това.

Типичната процедура за защита на макрокода ви е да отворите работната книга на Excel, съдържаща VBA проекта, който искате да заключите, и след това да отидете на раздела програмист от лентата. Оттам можете да щракнете върху бутона Visual Basic за да отворите VBA редактора, свързан с тази книга.

След като влезете в редактора на Visual Basic, ще трябва да изберете проекта си в левия панел и да отворите менюто Инструменти, където ще намерите опцията Свойства на VBAProject (Точното име може да варира в зависимост от езика на инсталацията, но се отнася до свойствата на текущия проект.)

В диалоговия прозорец със свойства ще видите няколко раздела; този, който ви интересува за блокиране на кода, е разделът защитаВ него ще имате възможност да изберете опцията Заключване на проекта за преглед, което не позволява на други потребители да преглеждат съдържанието на проекта без въвеждане на паролата.

След като отметнете това квадратче, ще трябва да напишете защита с парола Въведете паролата в съответното поле и я повторете в полето за потвърждение, за да се уверите, че няма правописни грешки. След като въведете паролата два пъти, можете да кликнете върху приемамЗатворете VBA редактора и се върнете в Excel.

За да се приложи правилно защитата, е важно затворете Excel файла и го отворете отново.

Макроси в Excel

Цифрово подписване на макроси със сертификати

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

Процесът на цифров подпис се основава на цифров сертификат който идентифицира автора на макроса. Когато VBA проект или документ с макроси е подписан, сертификатът гарантира, че файлът произхожда от този конкретен подписващ и че съдържанието не е било променяно от прилагането на подписа.

След като инсталирате сертификата на компютъра си, можете да го използвате, за да подписвате проектите си с макроси, така че когато други потребители отварят тези файлове, Excel да може да ги удостовери. проверете валидността на подписа и третирайте съдържанието като надеждно, ако издателят е маркиран като надежден.

Има два основни начина за получаване на сертификат за подписване на вашите макроси.

  • Можете да прибегнете до организация, издаваща търговски сертификати. Това ще ви осигури признат сертификат, подходящ за използване в корпоративна или публична среда.
  • Можете също така да получите сертификат чрез администратора по вътрешна сигурност или ИТ отдела на вашата организация.

След като имате подходящия сертификат, следващата стъпка е да получите достъп до опциите за цифров подпис в редактора на VBA и свържете сертификата с проектаОт този момент нататък, всеки път, когато разпространявате файл с този проект, подписът ще гарантира неговата цялост и произход. Можете да го комбинирате с настройката „само подписани макроси“ в Центъра за доверие, за да увеличите значително нивото на защита.

Използване на макроси и защита в споделени работни книги и онлайн Excel

В много съвременни работни среди е обичайно да се използва споделени работни книги на Excel чрез услуги като Microsoft Teams или OneDrive. Идеята е няколко колеги да могат да редактират един и същ файл едновременно от различни места.

В този контекст възникват два много често срещани въпроса: Как защитават клетките и формулите за да се предотврати случайното им изтриване от други потребители? Могат ли да се използват макроси в Excel онлайн когато тази книга се споделя чрез Teams?

Относно първия въпрос, Excel предлага инструменти за защита на листове и работни книги, които ви позволяват да маркирате определени клетки като блокиран След това задайте парола, така че само определени хора да могат да я променят. По този начин можете да оставите само клетките за въвеждане на данни отключени и да защитите останалите, така че формулите да не могат да бъдат докоснати.

По този начин вашите колеги ще могат да пишат в избраните от вас диапазони, но няма да могат изтриване или промяна на формули Критични за функционирането на файла, което е много полезно, когато книгата е сложна или съдържа деликатни изчисления.

Ако е необходимо макросите ви да работят, ще трябва да отворите файла с пълната версия на Excel инсталиран на компютъра, дори ако файлът е съхранен в Teams или OneDrive. Работната книга все още може да се споделя, но макросите ще се изпълняват от настолното приложение, а не от онлайн средата.

Важно е да обясните това на колегите си, за да разберат, че някои автоматизации няма да бъдат достъпни от браузъра. В тези случаи най-добрата стратегия обикновено е да комбинирате добър клетъчна защита с ясни процедури за употреба и, когато е необходимо, изпълнявайте макроси от настолен Excel, за да прилагате по-разширени процеси.