...
...

Просто ну очень большое программирование

Просто ну очень большое программирование

Как говорится, слухами земля полнится. Ох, уж эти слухи. Так выходит, что частенько мы предпочитаем слепо верить россказням одной бабы, чем пробовать это, так сказать, на себе. Вот вам простой пример. Эта самая баба утверждает, что программирование - дело многотрудное и жутко запутанное. Человеку нормальному сия премудрость явно не по плечу. Если он, конечно, не боится окончательно свихнуть себе мозги всякими там системами шестнадцатеричного счисления и прочими "радостями".

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

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

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

Помнится, в одном из прошлых номеров нашей газеты я рассказывал, как пользоваться модулем "ПОИСК И ЗАМЕНА" из меню "ПРАВКА". Так вот, что касается меня, то мне частенько приходится иметь дело с материалами, поступающими через Интернет, и Microsoft Word интерпретирует их в жутко неудобную форму. Почти так же представляется и текст в формате MS-DOS. Естественно, алгоритм приведения такой смеси к нужному виду чрезвычайно прост и состоит всего из четырех приемов, но очень уж лень колдовать над клавиатурой по десять раз на дню, когда это с тем же успехом компьютер вполне в состоянии проделать сам. Ему нужно лишь слегка подсказать, и не более того.

Вот давайте этим и займемся. В меню "СЕРВИС" есть команда "МАКРОС". За ней кроется некоторое меню, состоящее из трех режимов: "МАКРОСЫ", "НАЧАТЬ ЗАПИСЬ" и "РЕДАКТОР VISUAL BASIC". Последнее пока трогать не нужно. Сюда имеет смысл начать заглядывать лишь тогда, когда совсем прижмет и действительно придется вплотную браться за программирование. Да и вообще, все нужно делать по порядку.

Режим "МАКРОСЫ" служит для того, чтобы с самого начала вы придумали своему макросу имя (дело немаловажное, ибо впоследствии им предстоит частенько пользоваться) и указали, куда этот макрос заносить (в общий шаблон, который используется редактором во всех случаях, или в какое-нибудь другое место). Кстати, при выдумывании имени не забывайте, что оно используется программой как имя переменной, что налагает ряд ограничений. Прежде всего, Microsoft Word "не понимает" составные имена с пробелами и всякими служебными символами типа знаков препинания.

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

Ну да ладно, предположим, что нам нужно обработать ДОС-овский файл и довести его до "вордовской" кондиции. Мы этот файл открыли и запустили макрорекордер так, как это описано выше. В углу экрана замерла служебная панелька и процесс, так сказать, начался. Вот тут самое время вспомнить, как эти замены делаются. Напоминаю. В меню ""ПРАВКА" выбираем "ЗАМЕНИТЬ". В открывшемся меню тут же нажимаем кнопку "БОЛЬШЕ". Это открывает несколько дополнительных кнопок, без которых, откровенно говоря, жить бы было сложновато. В поле " Найти" ставим подряд два символа конца абзаца (попросту выбирая их из меню "СПЕЦИАЛЬНЫЙ", скрытом за одноименной кнопкой). В поле " Заменить на" ставим символ крышки (брать там же). Далее нажимаем "ЗАМЕНИТЬ ВСЕ" и ждем окончания процесса. По окончании редактор проинформирует о количестве сделанных замен. Потом аналогичным образом заменяете один символ абзаца на пустой пробел и опять ждете, пока программа все это не выполнит. Третьим шагом является замена символа крышки на символ конца абзаца. По окончании процесса текст приобретает законченный вид, вполне пригодный для работы с ним в редакторе Microsoft Word. Смело жмите на экранную кнопку "ОТМЕНИТЬ", чтобы убрать с экрана ставший уже ненужным этот диалог. Теперь стоит на миг задуматься. Лично мне, например, удобнее читать текст, если он представлен в нормальном печатном виде. Т.е. всегда четко выделена красная строка. Текст выровнен по обоим краям листа. Поэтому свой макрос я предпочел настроить таким образом, чтобы он сразу еще и отформатировал получившийся текстовый документ. Для этого нажмем комбинацию "Ctrl + Ф" (или выберем команду "ВЫДЕЛИТЬ ВСЕ" из меню "ПРАВКА"), а затем из выпадающего меню стилей в левом верхнем углу экрана выбираем тот стиль, который больше нравится. Для этого у меня заранее заготовлен стиль " Газетный", хотя можно пойти и стандартным путем через меню "ФОРМАТ", в котором сосредоточен полный комплект инструментов для прихорашивания текстовых документов. Так вот, после окончания форматирования (подчеркиваю, если такое вообще необходимо с вашей точки зрения, я же про свой макрос рассказываю) запись макроса можно выключить. Для этого надо воспользоваться соответствующей кнопкой на панели макросов, висевшей все это время слева вверху.

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

Сделать это совсем несложно. В меню "СЕРВИС" есть режим "НАСТРОЙКА", который и позволяет такое безобразие сотворить. В появившемся окне сразу переходим во вкладку "КОМАНДЫ" и в левом окошке выбираем "МАКРОСЫ". Сразу же в правом окне этой вкладки появятся все макросы, доступные в данном шаблоне. Если до этого с вашим "вордом" ни вы, ни кто бы то ни был не экспериментировали, то список окажется довольно коротким. Там обозначится всего один макрос, тот, который вы только что записали. Вот и перетащите его мышью (надеюсь, как это делается, объяснять не надо) на панель инструментов (туда, где вверху экрана нарисованы всякие забавные кнопочки). Конкретное место роли не играет. Первоначально редактор сгенерирует длиннющую кнопку с полным названием выбранного макроса. Лично мне это вовсе не кажется изящным решением. Поэтому кнопку стоит малость переделать. Как только сама кнопка сгенерировалась, то внешний вид вкладки "КОМАНДЫ" изменится. На ней появятся две кнопки: "ОПИСАНИЕ" и "ИЗМЕНИТЬ ВЫДЕЛЕННЫЙ ОБЪ-ЕКТ". Вернее, они становятся доступны. Берем ту, которая этот самый объект изменяет. За ней скрывается большое настроечное меню. Если есть время и желание, рекомендую поэкспериментировать с ним побольше, чтобы лучше познакомиться, а пока поверьте мне на слово. Надо назначить кнопке "ОСНОВНОЙ СТИЛЬ", чтобы она из длинной надписи превратилась в симпатичный значок. По умолчанию этот значок будет типовым, но отчаиваться не стоит, ибо в Microsoft Word предусмотрена небольшая коллекция разнообразных картинок к кнопкам. Выбрать есть из чего. Для этого надо "ВЫБРАТЬ ЗНАЧОК ДЛЯ КНОПКИ", что откроет все имеющиеся варианты. Выбираем понравившийся - и дело в шляпе. Кнопка приобрела законченный вид.

Собственно, это все. Теперь у вас появилась новая кнопка, нажатие на которую инициирует ту последовательность операций, которую вы выполнили во время записи макроса. В нашем случае он форматирует текст. Причем, можете проверить, макрос с задачей справляется гораздо быстрее. Да и ошибается он меньше. Точнее, не ошибается вообще, в отличие от человека, который может допустить случайную оплошность. Макросы впоследствии можно редактировать, изменять и дописывать в любой момент времени. Так что подобным образом можно писать и сложные, многоэтапные макросы, внаглую пользуясь тем, что рекордер можно использовать не только для записи всего макроса целиком, но также и для отдельных его элементов. Но это уже тема отдельного разговора.

Александр Запольскис
leshy@nestor.minsk.by


- титульная страница


© Компьютерная газета

полезные ссылки
Оффшорные банковские счета