Uploaded by likeju

Для чего нужны макросы в Excel

advertisement
Для чего нужны макросы в Excel?
Многие из Вас наверняка слышали термин «Макрос». Иногда при запуске некоторых
документов Word, а чаще Excel, Вам выскакивало предупреждение: «Данный документ содержит
макросы, которые могут нанести вред Вашему компьютеру. С целью безопасности макросы были
отключены» и т.д. И многих это предупреждение пугает, хотя большая доля правды в этом
предупреждении все ж присутствует. Но, это относится к документам, попавшим к Вам из
неизвестных источников, а именно из сети, по почте и т.д. Чем же так опасен макрос и для чего
они тогда нужны, если их использование небезопасно? Рассмотрим далее, а пока дадим
определение макросу.
Что такое «Макрос»?
Макрос это программа, которая содержит набор инструкций выполняющих какие либо
действия, как автоматически, так и по требованию пользователя, т.е. выполняются явно и
неявно. Макрос от сокращенного «макрокоманда». Широкое распространение данное понятие
получило благодаря корпорации Microsoft, которая реализовала возможность написания макросов
в своих продуктах, а именно всеми любимый и известный Office(Word, Excel, Access и т.д.).
Используемый язык в макросах - Visual Basic, так же продукт Microsoft, но с некоторыми
ограничениями.
Как работают макросы?
Благодаря внедрению в MS Office языка Visual Basic, Microsoft удалось значительно
расширить функционал своих продуктов. Макрокоманды, записанные пользователями или
написанные программистами, способны автоматизировать большинство процессов и значительно
сократить время на обработку данных. Тем самым, оптимизировать рабочее время сотрудников.
Для выполнения макрокоманд необходима своя программная среда, в которой эти команды
способны работать. Такой средой являются, например Excel, Word, Access. При написании
сложных макросов, их запуск и выполнение, как правило, ограничивается рабочей станцией (ПК)
на которой он был написан. Сложные, имеется ввиду, подключение дополнительных компонентов
и объектов, которые попросту могут отсутствовать на другом ПК. Происходит это потому, что
программный код не переводится в исполняемый машинный код и вдобавок к которому
прикладываются необходимые модули и библиотеки, а выполняется через интерпретатор. Но, есть
и преимущества в таком подходе, а именно, возможность произвести отладку сразу, «на месте»,
при возникновении каких либо ошибок, просмотреть код и дополнить его новыми инструкциями,
расширив функционал макроса. Как правило, макросы написанные для Excel, не работают в Word
или Access, только если не используется базовый набор процедур и функций, которые не
затрагивают объекты приложения.
Как макросы помогают в работе?
При работе с большими объемами данных, которые необходимо тем, или иным образом
обрабатывать, а так же при выполнении однообразных действий по обработке информации в
таблицах (например, формирование сводных таблиц определенного формата), макросы
незаменимы. Пример: Вам ежедневно необходимо получать данные из БД, производить с этими
данными некоторые расчеты, затем из результатов свести сводную таблицу. На все у Вас уходит,
допустим, 2 часа. Разработав и внедрив такой макрос, который будет все эти действия
производить самостоятельно, у Вас время сократиться до пары минут, а точнее секунд т.к.
остальное уйдет на открытие и получение данных. А если еще к расчетам «вручную» добавить
допущенные механические ошибки, которые обязательно бываю, и которые в лучшем случае Вы
обнаружите и будете искать, то это еще добавит время к тем двум часам. Макрос же при
грамотной разработке и хорошо протестированный, позволяет избежать таких ошибок.
Это один из многих вариантов применения.
В чем заключается опасность макросов?
Как я уже говорил выше, макросы могут быть как полезны, так и опасны. Все зависит от
того с какой целью и кем он был написан. В чем заключается опасность? Так как в написании
макросов используется язык Visual Basic, то располагая всем его функционалом, злоумышленник
способен написать на этом языке вирус – «макровирус». Макровирус способен повредить все
данные, способен работать как программа шпион и т.д. Время жизни такого вируса - пока
запущено приложение (Excel, Word и т.д.). После внедрения такого вируса, в дальнейшем, его
запуск будет осуществляться в скрытом от пользователя режиме. Макросы так же способны
выступать в роли посредника для внедрения более серьезных угроз всей системе. Например,
активировав макрос, произойдет копирование или генерирование троянской программы, которая
работает под управлением операционной системы, с последующим ее запуском. А это уже угроза
работе всей системе.
Варианты защиты от таких макросов:
 Повысить уровень безопасности Excel (способ не удобен т.к. и полезные макросы не
будут работать);
 Не открывать файлы из неизвестных источников и не игнорировать предупреждения
безопасности при открытии таких файлов;
 Если установлена операционная система Windows 7, не допускать запуск приложений с
подписью «неизвестный источник».
На этом я завершаю вводную статью по макросам. В дальнейшем, я расскажу и покажу
способы записи макросов в Excel. Постараюсь подбирать интересные и полезные примеры, а так
же рассмотрим, каким потенциалом обладает Excel, если посмотреть на него глазами
программиста.
Download