БУМАЖНЫй НОМЕР
![]() |
01.10.2001
Борис Клименко
«Это
безобразие, товарищи, использовать компьютеры для забивания гвоздей. Если кто не
знает, для этого имеются молотки. И стоят они значительно дешевле». Евгений
Максимович Примаков произнес эти слова на ученом совете института, директором
которого он был в те уже далекие годы. Высокое собрание, как вы понимаете,
обсуждало вопросы эффективного применения компьютерной техники.
С тех пор в этом смысле мало что изменилось, и подавляющее большинство пользователей по-прежнему относятся к компьютеру как к устройству, пришедшему на смену пишущей машинке.
Учитывая сказанное, основная цель наших занятий будет состоять в том, чтобы научиться как можно ПРОЩЕ и ЭФФЕКТИВНЕЕ работать с текстами.
Приведу несколько примеров.
Вы наверняка уже догадались, что без макросов здесь не обойтись. Но бояться не надо: даю слово, что зубрить Visual Basic не придется (желающие, впрочем, могут запомнить отдельные полезные операторы). Потребуется всего лишь аккуратно воспроизводить элементарные действия: открывать меню, выполнять команды, нажимать кнопки. Правда, делать это нужно будет в «прямом эфире», то бишь в режиме записи макросов.
Первый урок мы посвятим проблемам навигации. В дальнейшем будут рассмотрены средства, позволяющие заметно ускорить и облегчить процесс редактирования и ввода текста, работу с табличными данными, поиск и т. п. Работать будем с русской версией Microsoft Word 2000, но те же самые действия могут выполняться и в предыдущих версиях этого приложения (7-й и 97-й). Небольшие отличия будут касаться лишь названий некоторых команд меню, а в Word для Windows 95 - также формальной записи текста макроса (которая осуществляется без участия пользователя и поэтому не должна нас волновать). Работающие с английскими версиями Word, думаю, без труда смогут определить английские эквиваленты команд. Предполагается также, что читатель умеет выполнять стандартные действия и процедуры. А самое главное, что у него есть желание научиться эффективно работать с текстами.
Однако начнем мы не с создания макросов, а с примера использования одной стандартной, но малоизвестной команды, о существовании которой многие даже не догадываются. Такие полезные команды мы будем включать в свой арсенал по мере изложения материала.
Задача 1
Ситуация
Читая документ, вы решили вернуться на пару страниц назад и кое-что уточнить. Или, скажем, случайно нажали Ctrl+End и переместились в конец документа. После этого вы хотите вернуться на исходную позицию. Выполнение этой процедуры с помощью стандартных клавиш навигации (PgUp и PgDn) займет некоторое время. Если же документ большой, блуждание по нему может затянуться надолго.
Словесное описание действий
Вы нажимаете сочетание клавиш, запускающее выполнение соответствующей команды, и мгновенно возвращаетесь на нужную позицию.
Примечание: сочетанием клавиш мы будем называть произвольную комбинацию клавиш, приводящую к автоматическому выполнению тех или иных действий. Одной из входящих в такое сочетание клавиш является, как правило, Ctrl, Alt, Shift, или же их комбинация. Эти клавиши (за исключением Alt) являются «нейтральными», поскольку нажатие на любую из них не приводит к выполнению каких-либо действий. Некоторым командам Microsoft Word сочетания горячих клавиш присвоены по умолчанию, то есть назначены разработчиками программы. Пользователь может самостоятельно задавать горячие клавиши для тех команд, у которых они отсутствуют или переопределять сочетания клавиш, заданные по умолчанию. Примеры стандартных горячих клавиш: Ctrl+S (сохранение документа), Alt+F6 (переход в следующее окно), Ctrl+ Shift+F5 (открытие окна со списком закладок).
Упомянутая выше команда называется GoBack (вернуться назад). По умолчанию она не отображается ни в одном из меню. Однако мы ее все-таки отыщем и поставим себе на службу.
Формальное описание действий
Совет. Введите список стандартных, а также назначенных вами горячих клавиш: это сэкономит время, когда потребуется их применить.
Примечание. Правило ввода и нажатия сочетаний горячих клавиш состоит в следующем. Вначале нажимается соответствующая «нейтральная» клавиша или клавиши (в нашем случае это Alt). Затем, не отпуская нажатую «нейтральную» клавишу (клавиши), нажмите «обычную» (у нас - E), после чего все клавиши нужно сразу же отпустить.
Что мы имеем в итоге
Теперь, чтобы вернуться к тому месту документа, где было прервано чтение, достаточно нажать Alt+E (или Shift+F5 и Alt+Ctrl+Z, если вы предпочитаете использовать стандартное сочетание горячих клавиш). Краткое пояснение результата применения команды GoBack можно прочесть в поле «Описание» диалогового окна «Настройка клавиатуры» (см. рис. 2). Если вы нажмете эти клавиши несколько раз, то переместитесь на «пред-предыдущую» позицию, а затем - и на «пред-пред-предыдущую», после чего цикл повторяется.
Примечание. Если у вас было открыто несколько документов и вы переходили из одного в другой, то при нажатии Alt+E также переместитесь - вслед за курсором - из одного документа в другой.
Внимание! Все изменения в первоначальных параметрах Microsoft Word (а также создаваемые макросы) записываются в файл Normal.dot, называемый общим шаблоном. В зависимости от настроек Word этот файл может сохраняться при выходе из программы либо автоматически, либо по желанию пользователя. В последнем случае выводится сообщение о том, что Normal.dot был изменен, и предлагается сохранить его. Не забудьте положительно ответить на это предложение, иначе вся работа по настройке программы и созданию макросов пропадет!
Задача 2
Ситуация
Вы работаете с документом и хотите при желании возвращаться к некоторым его фрагментам.
Словесное описание решения
В любом месте интересующего вас фрагмента вставляется закладка с текстом стандартного (определенного вами) содержания. Слово или выделенный фрагмент текста, на котором располагался курсор при вставке закладки, подкрашивается цветом, чтобы его было легче заметить. В дальнейшем для перехода к этой закладке нужно будет просто нажать сочетание клавиш. Решение состоит в создании двух простейших макросов, один из которых автоматически выполняет вставку цветной закладки, а другой позволяет мгновенно перейти к ней в случае необходимости. Запуск макросов осуществляется нажатием соответствующих горячих клавиш.
Формальное описание решения
Описываемая ниже процедура состоит из довольно большого числа элементарных шагов. Наберитесь терпения и постарайтесь ее аккуратно выполнить. На следующем уроке мы научимся - с помощью аналогичных макросов и команд - значительно упрощать сам процесс создания макросов.
Создание макроса, вставляющего закладку
При записи имен макросов должны соблюдаться следующие правила. Имя не может начинаться с цифры, содержать пробелы, а также знаки, не являющиеся буквами или цифрами (исключение - знак подчеркивания). Если имя записано неправильно, то при переходе к шагу 6 появится сообщение об этом.
Примечание. Если нажать кнопку «Панели», то запуск записываемого макроса будет осуществляться с помощью специальной кнопки, размещенной на панели инструментов. Как создается такая кнопка, мы рассмотрим на следующем уроке. Пока же сформулируем следующее правило: горячие клавиши лучше использовать в тех случаях, когда работать приходится «руками», а не мышью (чтобы не снижать темпа при вводе текста). Кнопки же применяются обычно тогда, когда пользователь работает мышью, а соответствующие процедуры выполняются эпизодически.
Внимание! С этих пор все предпринимаемые вами действия - перемещения по документу, открытие меню, исполнение команд и т. п. - будут автоматически записываться в макрос на языке Visual Basic. Поэтому старайтесь не совершать лишних действий.
Примечание. В любой момент можно на время прервать запись макроса, чтобы уточнить способ выполнения тех или иных действий или посмотреть результат применения тех или иных команд. Для этого нужно нажать кнопку с синей точкой на панели записи макроса. Чтобы продолжить запись, нажмите эту кнопку еще раз.
Примечание. В макрос будут записываться все действия, выполняемые с использованием клавиатуры, однако не все действия, производимые с помощью мыши. Допускается применение мыши для выбора команд и параметров, однако окно документа ей недоступно. Для записи действий, производимых в окне документа (перемещение курсора, выделение, копирование и перемещение текста), необходимо пользоваться клавиатурой.
Примечание. Имя закладки вводится по тем же правилам, что и названия макроса (см. примечание к пункту 4).
Создание макроса, выполняющего автоматический переход к закладке
Первые восемь шагов полностью совпадают с соответствующими этапами записи предыдущего макроса, поэтому мы их опускаем. Отметим только, что на шаге 4 при определении имени нового макроса введем, к примеру, выражение GoToMetka, а на шаге 6 (задание сочетания горячих клавиш) - Alt+Q.
На шаге 9 (уже находясь в режиме записи макроса) выполните действия, соответствующие шагу 12 предыдущей процедуры, и щелкните закладку Metka в большом окне под полем «Имя закладки» диалогового окна «Закладка» (см. рис. 5).
Нажмите кнопку «Перейти», а затем клавишу «Стрелка влево», чтобы снять выделение с закладки.
Наконец, завершите создание макроса, нажав кнопку с синим квадратиком на панели записи макроса.
Что мы имеем в итоге
Нажав в любом месте документа сочетание горячих клавиш Alt+A, вы вставите в него цветную приметную закладку. Захотев впоследствии вернуться к интересующему вас фрагменту вы сможете это сделать, нажав сочетание горячих клавиш Alt+Q. Нужный фрагмент текста отмечен цветной закладкой и потому хорошо заметен.
Примечание. Не забудьте сохранить шаблон Normal.dot при выходе из Microsoft Word!
Примечание. Если вы впоследствии захотите удалить выделение цветом, то проще всего это сделать так: выделите весь документ с помощью стандартного сочетания клавиш Ctrl+А, затем выберите инструмент «Выделение цветом» на панели инструментов (см. пункт 10) и щелкните кнопку «Нет» в палитре цветов.
Примечание. Чтобы удалить закладку, нужно открыть диалоговое окно «Закладка» (см. пункт 12), выбрать нужную закладку и нажать кнопку «Удалить».
Создание других закладок
Практика показывает, что при работе с документом полезно иметь несколько стандартных закладок (но не более трех-четырех). У меня, например, их три: Metka, Metka_2 и Return_and_ Correct («Вернуться и исправить»).
Каждая из них выделяется своим цветом, причем вставка и переход к закладке Metka_2 осуществляется с помощью горячих клавиш (Ctrl+ Shift+A и Alt+W соответственно), а для вставки и перехода к закладке Return_and_Correct используются кнопки, размещенные на панели инструментов.
При создании пар макросов для новых закладок можно, конечно, повторить описанные выше шаги. Однако есть более рациональный и быстрый способ. Пытаясь упростить себе работу с текстами, я однажды сообразил, что для создания однотипных макросов не обязательно многократно повторять одну и ту же процедуру записи макроса. Достаточно просто войти в редактор Visual Basic и скопировать текст уже созданного макроса. Затем нужно изменить ряд индивидуальных параметров: прежде всего, название самого макроса, текст, вводимый пользователем при записи макроса (в нашем случае- имя закладки), а также такие характеристики, цвет выделения и т.п.
Покажем, как это делается, на примере только что созданных нами макросов.
Но прежде - о том, как, собственно, попасть в редактор Visual Basic.
Текст каждого макроса начинается с заголовка, имеющего вид Sub Имя_макроса(), и заканчивается выражением End Sub. Таким образом, если вы откроете редактор Visual Basic с помощью описанной выше процедуры, то сможете без труда идентифицировать текст каждого из наших двух макросов. В таблице 1 приводится текст макроса Metka с моими пояснениями (записаны справа от строк макроса после значка (‘), отделяющего текст макроса от текста комментария).
Таблица 1
Sub Metka() |
‘Заголовок макроса |
Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend | ‘Выделение стоящего справа слова |
Options.DefaultHighlightColorIndex = wdBrightGreen | ‘Открытие инструмента «Выделение цветом» |
Selection.Range.HighlightColorIndex = wdBrightGreen | ‘Выбор цвета для выделенного фрагмента |
With ActiveDocument.Bookmarks | ‘Открытие диалогового окна «Закладка» |
.Add Range:=Selection.Range, Name:=«Metka» | ‘Ввод имени закладки |
.DefaultSorting = wdSortByName | ‘Значение параметра закладки (Сортировка) |
.ShowHidden = False | ‘Значение параметра закладки (Отображение) |
End With | ‘Окончание процедуры создания закладки |
Selection.MoveLeft Unit:=wdCharacter, Count:=1 | ‘Снятие выделения нажатием стрелки влево |
End Sub | ‘Конец процедуры создания макроса |
Чтобы создать еще один макрос, автоматически вставляющий цветную закладку в документ, необходимо выполнить следующие действия:
С названием макроса и именем закладки, видимо, все ясно: вместо старого текста нужно просто ввести новый. Сложнее с цветом выделения, поскольку нужно знать, как он обозначается в Visual Basic. Поэтому приведем таблицу 2, в которой имеются все необходимые для задания цвета сведения.
Таблица 2
Цвет |
Обозначение Visual Basic |
Черный |
wdBlack |
Синий |
wdBlue |
Ярко-зеленый |
wdBrightGreen |
Темно-синий |
wdDarkBlue |
Темно-красный |
wdDarkRed |
Коричнево-зеленый |
wdDarkYellow |
Серый 25% |
wdGray25 |
Серый 50% |
wdGray50 |
Зеленый |
wdGreen |
Нет |
wdNoHighlight |
Розовый |
wdPink |
Красный |
wdRed |
Сине-зеленый |
wdTeal |
Бирюзовый |
wdTurquoise |
Фиолетовый |
wdViolet |
Белый |
wdWhite |
Желтый |
wdYellow |
Теперь осталось вместо старого названия макроса Metka ввести новое, например Metka_2, вместо старого имени закладки (оно у нас тоже Metka) - новое, например Metka2, а использовавшийся раньше ярко-зеленый цвет выделения (wdBrightGreen) заменить, скажем, на бирюзовый (wdTurquoise) - и новый макрос готов.
Чтобы создать макрос перехода к новой закладке, нужно аналогичным образом скопировать соответствующий макрос в редакторе Visual Basic (текст макроса см. ниже) и заменить в нем название макроса (например, на GoToMetka_2) и имя самой метки (на Metka2) - см. текст макроса GoToMetka в таблице 3.
Таблица 3
Текст макроса GoToMetka |
|
Sub GoToMetka() | ‘Заголовок макроса |
Selection.GoTo What:=wdGoToBookmark, Name:=«Metka» | ‘Действие, определяющее переход к закладке |
With ActiveDocument.Bookmarks | ‘Открытие диалогового окна «Закладка» |
.DefaultSorting = wdSortByName | ‘Значение параметра закладки (Сортировка) |
.ShowHidden = False | ‘Значение параметра закладки (Отображение) |
End With | ‘Закрытие диалогового окна «Закладка» |
Selection.MoveLeft Unit:=wdCharacter, Count:=1 | ‘Снятие выделения нажатием стрелки влево |
End Sub | ‘Конец процедуры создания макроса |
На следующем занятии основное внимание мы уделим созданию удобных вспомогательных средств работы с макросами и эффективным приемам редактирования текста.