1001 совет по обустройству компьютера
Шрифт:
Но у буфера обмена Word есть и еще одна особенность, которая смущает многих неопытных пользователей, – при вставке текста из другого приложения (например, из браузера), по умолчанию сохраняется форматирование источника, что иногда не только выглядит довольно безобразно, но и может нарушить форматирование вашего документа. Такие фокусы сравнительно легко преодолеваются в Word 2003 выбором в меню пункта Правка | Специальная вставка. В новых версиях есть даже целый раздел настроек (Дополнительно | Вырезание, копирование и вставка), где процесс можно довольно тонко настроить – например, установить для вставки из других приложений режим Использовать форматирование конечного фрагмента, а для переноса между документами Word оставить исходное форматирование.
Но как минимум, в старых Word XP и 2003 проблема удобства все-таки остается – обращаться к меню Специальная вставка для тех, кто привык работать с буфером обмена с клавиатуры, очень неудобно и долго. Потому есть смысл установить для простой вставки («чистого текста» –
Выполнить такую настройку – не совсем тривиальное занятие, потому что команд, соответствующих отдельным пунктам меню «специальной вставки», в настройках клавиатуры вы не найдете. Потому делать придется через создание, а потом – дополнительное редактирование специального макроса. В старых версиях Word это доступно просто через Сервис | Макросы | Начать запись, а в версии 2007 придется сначала вытащить пункт Макросы на свет божий. Для этого следует вытащить в ленту вкладку Разработка – в Word 2010 она имеется по умолчанию, а в Word 2007 обратитесь к Параметры Word | Основные и поставьте отметку в соответствующем пункте.
Кроме того, в Word 2007/2010 надо вытащить в панель быстрого запуска ту самую «специальную вставку» (в Word XP и 2003 она должна изначально присутствовать в меню Правка). Итак, в Word 2007/2010 найдите этот пункт в настройках панели быстрого доступа (см. рис. 10.6) и поместите его в панель с помощью кнопки Добавить.
10.5.2. Создание макроса
Теперь можно приступать к созданию макроса. Предварительно скопируйте какой-нибудь текст в буфер обмена. Затем щелкните на пункте Запись макроса (Макрос | Начать запись в Word 2003), введите имя макроса, например, PasteNormalText (никогда не оставляйте ничего не говорящие названия по умолчанию, вроде Macrosl – через неделю вы гарантированно забудете, что скрывается за этим названием) и через кнопку Назначить макрос | Клавишам назначьте ему сочетание клавиш <Ctrl>+<V>. Сразу после начала записи обратитесь к пресловутому меню Специальная вставка и вставьте содержимое буфера, как «неформатированный текст». После этого остановите запись, обратитесь опять к меню Макросы и нажмите на кнопку Изменить.
Вы увидите окно редактора Visual Basic, и в нем – заготовку нашего макроса под названием PasteNormalText. Весь текст собственно макроса будет состоять из одной строки с командой что-то вроде selection.PasteFormat с параметром в скобках. Эту строку надо изменить на следующий текст:
Selection.PasteSpecial DataType:=wdPasteText
Нажмите <Ctrl>+<S>, чтобы сохранить изменения, перейдите в окно Word и проверьте – данные из буфера должны вставляться с сохранением форматирования уже имеющегося текста (картинки и другие объекты, кстати, теперь можно будет вставлять только комбинацией клавиш <Shift>+<Ins>). Если вы забыли назначить горячую клавишу перед началом записи, то ее можно назначить потом – через пункт Настройки, только выбрав из меню не команды, а Макросы.
Перечтите последние абзацы еще раз и, перед тем, как приступать, хорошо подумайте – а оно вам действительно надо? Но если вам такая процедура и покажется слишком сложной для данной функции, по этому же образцу вы можете создавать любые макросы. Даже если вам требуются какие-то нетривиальные действия, которые через обычное меню не осуществляются, удобнее сначала записать приблизительную заготовку макроса, а потом ее редактировать по образцу. Причем некоторые версии Word почему-то игнорируют при автоматической записи макроса кое-какие параметры – например, установки дополнительных условий поиска и замены, которые относятся к параметрам шрифта. И тогда не остается другого выбора, кроме как редактировать макрос вручную.
В простейших случаях для этого даже не придется изучать Visual Basic – к Word прилагается достаточно подробная справка по всем функциям Word Basic, правда, на английском языке. В старых версиях Word, возможно, эту справку придется специально доустановить с установочного диска, а если вы разыщете ее для русской версии Office 97, то она может даже оказаться на русском – сами функции с тех пор почти не изменились.
В Microsoft Word и некоторых других компонентах Office для написания макросов применяется разновидность (подмножество) языка Visual Basic, иногда называемое Word Visual Basic, или, для краткости, просто Word Basic. В этом языке применимы все инструкции, процедуры и функции обычного языка Visual Basic, включая даже прямой вызов системных функций Windows API – чем и пользуются создатели макровирусов, распространяемых уже несколько лет. Для любознательных поясним построение системы Word Basic в самом общем и сильно упрощенном виде – чтобы знать, что искать в справке.
Все, что вы видите в окне, например, Microsoft Word, представляет собой совокупность объектов. Есть объекты Window, Document, Paragraph и т. п. – так, в приведенных
Существует теоретически неограниченная вложенность этих понятий – так, каждый объект может включать другие объекты, с их свойствами или методами, а те свои, и так до бесконечности. Чтобы не потеряться в этой крайне запутанной иерархии и указать точную принадлежность свойства или метода, их записывают через точку, начиная с самого старшего владельца. В нашем случае, например, объект Selection имеет метод PasteSpeciai (что в переводе и означает «специальная вставка»). Пример более сложной иерархии: Selection включает объект Find («найти»), который включает объект Replacement («замена»), который включает объект Font («шрифт»), который, в свою очередь, имеет свойства Bold, Italic, Name, Size и т. п. Bold или Italic представляют собой переменную булевского типа, т. е. могут принимать одно из двух значений: True («правда») или False («ложь»). Size («размер») – естественно, число (причем оно может быть и дробным), а свойство Name есть обычная строка с названием шрифта. Поэтому, чтобы объявить в программе замещающий текст «полужирным», следует вставить такой оператор: Selection.Find.Replacement.Font.Bold = True. Для сокращения записи при манипуляции свойствами одного и того же владельца можно использовать инструкцию With:
With Selection.Find.Replacement.Font
.Name = "Courier New"
.Bold = True
.Size = 7.5
End With
Отметим, что разные объекты разного уровня могут иметь, естественно, одинаковые свойства и методы – так, наряду со свойством Selection.Find.Replacement.Font (шрифт замещающего текста) может встречаться и свойство просто Selection.Find.Font (т. е. шрифт исходного текста для поиска). Таким образом, чтобы разыскать нужный объект или метод в справке по Word Basic, вы начинаете с главного объекта, который вам подсказывает автоматически созданная заготовка для макроса (например, Selection), а потом ищете в его характеристиках нужные свойства (Properties) или методы (Methods). Не пытайтесь там что-то найти поиском – в справке по Visual Basic он почему-то работает очень плохо.
10.6. К вопросу об автоматических обновлениях
По умолчанию большинство программ установлено на получение автоматических обновлений через Интернет. Не составляет исключения и сама Windows. Приличные программы (в том числе и Windows) лишь сообщают о том, что обновления доступны, и предлагают выбор – устанавливать их или «отложить на потом», но некоторые делают это и без спроса. Никогда не забуду, как я забыл при установке первой версии Firefox отключить автоматическую установку обновлений, в результате чего у меня половина пунктов меню оказалась на русском, половина на английском – изготовители русской версии установочного пакета забыли изменить адрес для получения обновлений, указанный в английской версии.
Мое личное убеждение (которое я, конечно, никому не навязываю) состоит в том, что никаких обновлений быть не должно – не навязывают же вам обновления к оборудованию купленного автомобиля или стиральной машины. Исключение составляют случаи появления принципиально нового оборудования (вроде упомянутых ранее систем HD Audio), с которым нельзя справиться просто установкой новых драйверов. Как показал опыт, все остальные обновления оказываются не слишком нужными и мало на что влияют. Кроме всего прочего, автоматическая установка обновлений – довольно утомительное занятие, которое может в самый неподходящий момент (например, когда ресурсы аккумулятора ноутбука на исходе) надолго приостановить загрузку программы или вообще всей Windows с требованием к тому же ни в коем случае не выключать компьютер.
Крупную подлость также подкинула Microsoft в конце срока эксплуатации Windows XP владельцам нелицензионной версии – вместе с обновлениями стала распространяться программа проверки легальности копии. Владельцы пиратских версий ОС и другого софта вообще никогда не могут быть уверены, что в один прекрасный момент их не застукают подобным образом, поэтому для них автоматическое получение обновлений приходится сразу исключить.
Но мое отрицание установки обновлений не имеет ничего общего с боязнью засветить пиратскую копию – я отключаю получение обновлений и у всех легально купленных программ. Просто мне не нравится, когда на мой компьютер устанавливается неизвестно что в процессе, который я не могу контролировать, – мало ли что там еще придумали разработчики? Если появляется что-то действительно нужное, его легко потом установить отдельно. Покупка ноутбука с предустановленной версией Vista у меня дважды оборачивалась тем, что я несколько первых запусков не мог начать с ним нормально работать, – сначала он долго скачивал обновления, потом еще дольше их устанавливал, затормозив процесс загрузки не меньше чем на полчаса. Лучше уж я обойдусь без обновлений в такой ситуации.