Съдържание
В статията се разглежда как да включите макросите в Excel, обясняват се основите на макросигурността и се показва как да се коригират настройките за сигурност, за да се изпълняват безопасно кодовете VBA.
Както почти всяка технология, макросите могат да се използват както за добро, така и за зло. Затова в Microsoft Excel всички макроси са забранени по подразбиране. Този урок разглежда различни начини за разрешаване на макросите в Excel и обяснява потенциалните рискове, свързани с това.
Защита на макроси в Excel
Преди да разрешите използването на макроси в работните си листове, е важно да разберете колко опасни могат да бъдат те.
Въпреки че VBA кодовете са много ефективни за автоматизиране на сложни и повтарящи се задачи, те са значителен източник на риск от гледна точка на сигурността. Злонамерен макрос, който сте стартирали неволно, може да повреди или напълно да изтрие файлове на твърдия ви диск, да обърка данните ви и дори да повреди инсталацията на Microsoft Office. Поради тази причина настройката по подразбиране на Excel е да забрани всички макроси суведомяване.
Как да избегнете тези опасности? Просто следвайте едно просто правило: активирайте само безопасни макроси - такива, които сте написали или записали сами, макроси от надеждни източници и кодове VBA, които сте прегледали и напълно разбирате.
Как да активирате макроси за отделни работни книги
Има два начина за включване на макроси за определен файл: директно от работната книга и чрез изгледа Backstage.
Разрешаване на макроси чрез лентата с предупреждения за сигурност
При настройките на макросите по подразбиране, когато за първи път отворите работна книга, съдържаща макроси, в горната част на листа, точно под лентата, се появява жълтата предупредителна лента за сигурност:
Ако редакторът на Visual Basic е отворен по време на отварянето на файла с макроси, ще се покаже известието за сигурност на Microsoft Excel:
Ако имате доверие на източника на файла и знаете, че всички макроси са защитени, щракнете върху Разрешаване на съдържанието или Активиране на макроси Това ще включи макросите и ще направи файла доверен документ . При следващото отваряне на работната книга предупреждението за сигурност няма да се появи.
Ако източникът на файла е неизвестен и не искате да разрешавате макроси, можете да щракнете върху бутона "X", за да затворите предупреждението за сигурност. Предупреждението ще изчезне, но макросите ще останат забранени. Всеки опит за стартиране на макрос ще доведе до следното съобщение.
Ако случайно сте изключили макросите, просто отворете отново работната книга и щракнете върху Разрешаване на съдържанието на лентата за предупреждения.
Включване на макроси в изгледа Backstage
Друг начин за активиране на макроси за определена работна книга е чрез изгледа Office Backstage. Ето как:
- Щракнете върху Файл и след това щракнете върху Информация в лявото меню.
- В Предупреждение за сигурност област, щракнете върху Разрешаване на съдържанието > Активиране на цялото съдържание .
Както и при предишния метод, работната ви книга ще се превърне в надежден документ.
Какво трябва да знаете за доверените документи в Excel
Разрешаването на макроси чрез лентата със съобщения или изгледа Backstage превръща файла в доверен документ. Някои файлове на Excel обаче не могат да бъдат превърнати в доверени документи. Например файлове, отворени от опасно място, като папката Temp, или ако системният администратор е задал политиката за сигурност във вашата организация да забранява всички макроси без известие. В такива случаи макросите се разрешават самоза един път. При следващото отваряне на файла Excel ще ви подкани отново да разрешите съдържанието. За да избегнете това, можете да промените настройките на Центъра за доверие или да запишете файла на доверено място.
След като дадена работна книга стане доверен документ, няма начин да се отмени доверието й. Можете само да изчистите списъка с доверени документи. За целта направете следното:
- Кликнете върху Файл > Опции .
- От лявата страна изберете Център за доверие , след което щракнете върху Настройки на Trust Center .
- В Център за доверие диалогов прозорец, изберете Доверени документи вляво.
- Кликнете върху Clear , след което щракнете върху ОК .
Това ще направи всички предишни надеждни файлове ненадеждни. Когато отворите такъв файл, ще се появи предупреждение за сигурност.
Съвет. Ако не искате да направите документите надеждни, поставете отметка в Деактивиране на доверени документи кутия. Все още ще можете да включвате макроси при отваряне на работна книга, но само за текущата сесия.
Как да активирате макроси за една сесия
В някои ситуации е разумно да разрешите макросите само за един път. Например, когато сте получили файл на Excel с код VBA, който искате да проучите, но не желаете да направите този файл доверен документ.
Следващите инструкции ще ви помогнат да преминете през стъпките за активиране на макроси за времето, през което файлът е отворен:
- Щракнете върху Файл tab> Информация .
- В Предупреждение за сигурност област, щракнете върху Разрешаване на съдържанието > Разширени опции .
- В Опции за сигурност на Microsoft Office диалогов прозорец, изберете Активиране на съдържанието за тази сесия и щракнете върху OK .
Това включва макросите за един път. Когато затворите работната книга и след това я отворите отново, предупреждението ще се появи отново.
Как да разрешите макросите във всички работни книги чрез Trust Center
Microsoft Excel определя дали да разреши или забрани изпълнението на VBA кодове въз основа на макронастройката, избрана в Trust Center, Това е мястото, където се конфигурират всички настройки за сигурност за Excel.
За да активирате макросите във всички работни книги на Excel по подразбиране, трябва да направите следното:
- Щракнете върху Файл и след това щракнете върху Опции в най-долната част на лявата лента.
- В лявата страна на прозореца изберете Център за доверие , след което щракнете върху Настройки на Trust Center... .
Забележки:
- Опцията, която сте задали чрез Центъра за доверие, става новата макронастройки по подразбиране Ако искате да разрешите макроси само за определени работни книги, запазете ги на доверено място.
- Разрешаването на всички макроси във всички работни книги прави компютъра ви уязвим за потенциално опасни кодове.
Обяснение на макрос настройките на Excel
По-долу ще обясним накратко всички макронастройки в Trust Center, за да ви помогнем да вземете информирано решение:
- Деактивиране на всички макроси без известие - всички макроси са деактивирани; няма да се появи никакво предупреждение. Няма да можете да стартирате никакви макроси, освен тези, които са съхранени в доверени места.
- Деактивиране на всички макроси с известие (по подразбиране) - макросите са деактивирани, но можете да ги активирате за всеки отделен случай.
- Деактивиране на всички макроси с изключение на цифрово подписаните макроси - Неподписаните макроси се забраняват с известия. Макросите, цифрово подписани със специален сертификат от доверен издател, се разрешават да се изпълняват. Ако не сте се доверили на издателя, Excel ще ви подкани да се доверите на издателя и да разрешите макроса.
- Активиране на всички макроси (не се препоръчва) - разрешено е стартирането на всички макроси, включително потенциално злонамерени кодове.
- Доверителен достъп до обектния модел на проекта VBA - тази настройка контролира програмния достъп до обектния модел на Visual Basic for Applications. По подразбиране тя е изключена, за да се предотврати възможността неоторизирани програми да променят вашите макроси или да изграждат самовъзпроизвеждащи се вредни кодове.
Когато променяте настройките на Trust Center, имайте предвид, че те се отнасят само за Excel, а не за всички програми на Office.
Разрешаване на макроси за постоянно в доверено местоположение
Вместо да манипулирате глобалните настройки на макросите, можете да конфигурирате Excel да се доверява на определени места на компютъра или в локалната мрежа. Всеки файл на Excel в доверено място се отваря с разрешени макроси и без предупреждения за сигурност, дори ако Деактивиране на всички макроси без известие Това ви позволява да стартирате макроси в определени работни книги, когато всички други макроси на Excel са забранени!
Пример за такива файлове е работната книга Personal Macro Workbook (Лични макроси) - всички VBA кодове в тази работна книга са достъпни за използване при всяко стартиране на Excel, независимо от настройките на макросите.
За да видите текущите доверени местоположения или да добавите ново, изпълнете следните стъпки:
- Кликнете върху Файл > Опции .
- В левия прозорец изберете Център за доверие , след което щракнете върху Настройки на Trust Center... .
- В Център за доверие диалогов прозорец, изберете Доверени местоположения от лявата страна. Ще видите списък с доверените местоположения по подразбиране. Тези местоположения са важни за правилната работа на добавките, макросите и шаблоните на Excel и не трябва да се променят. Технически можете да запишете работната си книга в някое от местоположенията по подразбиране на Excel, но е по-добре да създадете свое собствено.
- За да настроите надеждното си местоположение, щракнете върху Добавяне на ново местоположение... .
- Щракнете върху Преглед на за да преминете към папката, която искате да превърнете в доверено местоположение.
- Ако желаете подпапка на избраната папка също да бъде надеждна, поставете отметка в Подпапки на това местоположение също са надеждни кутия.
- Въведете кратко известие в Описание (това може да ви помогне да управлявате няколко местоположения) или го оставете празно.
- Кликнете върху ОК .
Готово! Сега можете да поставите работната си книга с макроси в свое собствено надеждно място и да не се притеснявате за настройките за сигурност на Excel.
Съвети и бележки:
- Моля, бъдете много внимателни при избора на доверено местоположение. Тъй като Excel автоматично активира всички макроси във всички работни книги, които се съхраняват в доверени местоположения, те се превръщат в своеобразни пролуки в системата ви за сигурност, уязвими за макровируси и хакерски атаки. Никога не превръщайте която и да е временна папка в доверен източник. Също така бъдете внимателни с Документи папка, а създайте подпапка и я посочете като доверено място.
- Ако по погрешка сте добавили определена папка в списъка с доверени местоположения, изберете я и щракнете върху Премахване на бутон.
Как да активирате макроси програмно с VBA
Във форумите на Excel много хора питат дали е възможно да се активират макроси програмно при отваряне на работна книга и да се деактивират преди излизане от нея. Незабавният отговор е: "Не, не е възможно." Тъй като сигурността на макросите е от решаващо значение за сигурността на Excel, Microsoft е проектирала всеки код VBA да се задейства само с щракване на мишката от потребителя.
Когато обаче Microsoft затваря вратата, потребителят отваря прозорец :) Като заобиколен вариант някой предложи начин да се принуди потребителят да активира макросите с нещо като "заставка" или "лист с инструкции". Общата идея е следната:
Написвате код, който прави всички работни листове, с изключение на един, много скрити (xlSheetVeryHidden). Видимият лист (заставка) казва нещо като "Моля, разрешете макросите и отворете файла отново" или дава по-подробни инструкции.
Ако макросите са деактивирани, потребителят може да види само работния лист "Splash Screen"; всички останали листове са скрити.
Ако макросите са разрешени, кодът скрива всички листове и след това ги прави отново много скрити, когато работната книга се затвори.
Как да деактивирате макросите в Excel
Както вече беше споменато, настройката по подразбиране на Excel е да забранява макросите с известие и да позволява на потребителите да ги активират ръчно, ако искат. Ако искате да забраните всички макроси безшумно, без никакво известие, тогава изберете съответната опция (първата) в Центъра за доверие.
- В Excel щракнете върху Файл tab> Опции .
- В лявата страна на прозореца изберете Център за доверие , след което щракнете върху Настройки на Trust Center... .
- В лявото меню изберете Настройки на макроси , изберете Деактивиране на всички макроси без известие и щракнете върху ОК .
Ето как можете да разрешавате и забранявате макроси в Excel. Благодаря ви, че прочетохте, и се надявам да се видим в нашия блог следващата седмица!