Что в макросе твоём? (КВ-Лайт)

Часть первая: "Осторожно, злой макрос!"

Что такое Microsoft Office, не знает только ленивый. Остальные верят: "офис" - это Word, Excel, Access, PowerPoint и ещё куча мелких программок, которыми мало кто пользуется. Но даже основные программы действительно профессионально используют не все. По секрету скажу вам: возможностей в них столько, что один человек просто не в состоянии все их применить! Но всё же полезно знать кое-какие "фишки" - просто на всякий пожарный случай: а вдруг пригодится?

Есть, к примеру, в "Офисе" такая вещь, как макросы. Наверное, большинство пользователей о них слышали, а некоторые и своими глазами видели, как "Офис" на них реагирует. "Данный документ содержит макросы, которые могут содержать вирусы, которые могут повредить Ваши документы, которые лежат на Вашем компьютере, который..." и т. д. Что такое, в самом деле, этот макрос? Чем он может быть опасен и зачем он вообще нужен?

Макрос - последовательность операций Word (а также Excel, Access и др.), при запуске которой записанные команды выполняются снова. Таким образом, самое важное, что нужно уяснить: макрос - это последовательность команд, которую может выполнить "Офис". Фактически, макрос - это маленькая программа, которая может храниться в вашем документе (или в шаблоне документа).

Откуда берутся макросы? Вы можете создать их сами (см. пример ниже), а можете получить в присланном вам кем-то документе или шаблоне. Естественно, они могут быть и в тех файлах, которые вы скачиваете из интернета. Кроме того, часть макросов добавляется в "офис" другими программами, такими, например, как ABBYY Lingvo, RoboHelp Office или Adobe Acrobat.

 

Изначально макросы придуманы для упрощения и автоматизации работы пользователей Microsoft Office. Например, какую-то часто повторяющуюся последовательность действий, достаточно длинную, можно записать как макрос, а потом просто запускать его на выполнение.

"Вот и замечательно!" - скажет пользователь, и будет совершенно прав. Макросы действительно способны здорово облегчить работу в том самом "Ворде", где я сейчас набираю эту статью. Но, как известно, благими намерениями вымощена дорога в ад. В данном случае желание разработчиков "Офиса" помочь пользователям работать может стать причиной головной боли у последних.

Как вы понимаете, команды, содержащиеся в макросах, могут быть самыми разными. Например, они могут заставить "Ворд" удалить часть текста, а "Эксель" - перемещать содержимое ячеек. И сохранить это всё, не спрашивая разрешения. И пользователь такому "подарку" будет рад ещё две бессонных ночи, которые уйдут на восстановление первоначальной информации. Хуже всего то, что есть макросы, автоматически запускающиеся при открытии документа. Или при сохранении. И их работу пользователь никак не может проконтролировать. Что ещё плохо: макрос может испортить не только тот документ, в котором он содержится, но и заразить собой другие, которые открыты в данный момент. А ещё макрос может натворить бед не только с документами "Офиса", но и с любыми другими файлами на жёстком диске компьютера.

Ну что, испугал я вас? Не переживайте: Word & компания имеют встроенные средства защиты от собственных макросов. Те самые предупреждения, появляющиеся при открытии документа, в котором есть макросы, позволяют запретить их выполнение. Но если документ передан вам человеком, который предупредил о наличии в нём макросов, то лучше их не отключать: они могут быть полезны. В случае, когда человек передавал вам документ без макросов, а на e-mail пришёл с ними, явно дело не чисто.

Кстати, о защите. Большинство современных антивирусов обеспечивают вполне сносную защиту от вредоносных макросов, но всё равно береженого, как говорится, бог бережёт.

Что ж, для начала достаточно. Надеюсь, у вас не разовьётся макрософобия. А в следующих номерах мы обязательно поговорим о полезных сторонах макросов.

Вадим СТАНКЕВИЧ


Пример макроса для Microsoft Word

Например, часто встречаются документы, где форматирование абзацев выполнено при помощи табуляции. Это не совсем правильно (хотя я и сам люблю так иногда делать), поскольку может помешать при транспортировке из "Ворда" в другие программы. Для борьбы с этим явлением было бы разумно создать небольшой макрос. Для этого в меню "Сервис" выберите пункт "Макрос", а дальше - "Начать запись". Название и комментарий не имеют значения - введите те, которые покажутся вам подходящими. А вот сохранить его лучше в шаблоне (Normal.dot), чтобы применить можно было к любому документу. Можно также (опять-таки, для вашего удобства) вынести его на панель инструментов (кнопка "Назначить панели инструментов"). Доступ к макросу можно получить и через меню "Сервис" > "Макрос" > "Макросы". Там же можно макрос и удалить, если он больше не нужен или если вы хотите передать кому-то документ без макроса. После этого выберите в меню "Правка" пункт "Заменить", где укажите заменить все последовательности символов абзаца и табуляции на один только символ абзаца (делается это с помощью кнопок "Больше>>" и "Специальный" в окне замены). Дальше нажмите "Остановить запись" на панели записи макроса. Вот, в общем-то, и всё: макрос готов!

Для тех, кто хочет узнать о макросах больше, порекомендую ознакомиться с макроязыком VBA (Visual Basic for Applications), с помощью которого можно не только записывать макросы в Microsoft Office, но также делать и многое другое. Для доступа к редактору VBA выберите "Сервис" > "Макрос" > "Редактор Visual Basic". Сам язык и его применение будут более подробно рассмотрены в последующих статьях, но вы всегда можете ознакомиться с ними при помощи справки Microsoft Office.

Версия для печатиВерсия для печати

Номер: 

10 за 2006 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!