Читаем Интернет-журнал "Домашняя лаборатория", 2007 №3 полностью

Это — команда установки параметров выделенных абзацев: отступов, межстрочного интервала, красной строки. Нетрудно получить эту информацию из справки или просто догадаться, — ведь "Paragraph" означает "абзац".

Впрочем, проверим — так ли это. Откроем какой-либо документ и запишем новый макрос — выделив пару абзацев, включим запись макроса и поставим этим двум абзацам отступы сверху, снизу, справа и слева по одному сантиметру, а межстрочный интервал — полуторный. Вот что получилось:

Sub Макрос2

' Макрос записан 26.01.00

With Selection.ParagraphFormat

  .Leftlndent = CentimetersToPoints(1)

  .Rightlndent = CentimetersToPoints(1)

  .SpaceBefore = 1

  .SpaceAfter = 1

  .LineSpacingRule = wdLineSpacelpt5

  .Alignment = wdAlignParagraphJustify

  .WidowControl = True

  .KeepWithNext = False

  .KeepTogether = False

  .PageBreakBefore = False

  .NoLineNumber = False

  .Hyphenation = True

  .FirstLinelndent = CentimetersToPoints(1)

  .OutlineLevel = wdOutlineLevelBodyText

End With

End Sub

Что-то не то! Код какой-то большой и много новых команд, которых не было Записано в первый раз! Какие-то ".WidowControl", ".KeepWithNext"… Впрочем, ясно, что это свойства абзаца — наверное, "Контроль висячих строк", "Не отрывать от следующего". Но почему же в первый раз записанный код был гораздо меньше, и все было "по делу"?

Сравним оба случая. В прошлый раз все абзацы в документе были оформлены по-разному, а в этот раз оформление обоих абзацев было одинаковым. Может, в этом дело? И действительно, поэкспериментировав еще (уж не буду здесь приводить все тексты), позаписывав макросы при оформлении разнооформленных абзацев и одинаково оформленных, можно прийти к выводу, что в текст записанного макроса попадают те свойства, которые после установки параметров абзацев через диалоговое окно "Формат"-"Абзац" оказываются одинаковыми у всех обрабатываемых абзацев! И неважно, были ли эти свойства установлены такими именно сейчас, или когда-то ранее.



Небольшое отступление


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

Если же все выделенные абзацы были оформлены единообразно, то все значения диалогового окна "Формат"-"Абзац" будут определены, и все они попадут в текст макроса.

Лишние команды задания свойств, оказавшиеся в тексте макроса при его записи, рекомендуется удалить с целью сокращения размера программы и для исключения излишних заданий свойств — программа должна изменять лишь те свойства текста, для изменения которых она создавалась.

Если при вызове диалогового окна параметров текста или шрифта во время записи макроса в документе ничего не было выделено, то будут определены все параметры диалогового окна, и в макрос попадут все свойства, могущие быть указанными в окне. Установленные параметры будут использоваться для вновь набираемого текста.

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

* * *

Идем дальше.

Selection.Find.ClearFormatting

Selection.Find.ParagraphFormat.Alignment = wdAlignParagraphLeft

Selection.Find.Replacement.ClearFormatting

Selection.Find.Replacement.ParagraphFormat.Alignment = wdAlignParagraphJustify

With Selection.Find

  .Text = ""

  .Replacement.Text = ""

  .Forward = True

  .Wrap = wdFindContinue

  .Format = True

  .MatchCase = False

  .MatchWholeWord = False

  .MatchWildcards = False

  .MatchSoundsLike = False

  .MatchAllWordForms = False

End With

Selection.Find.Execute Replace:=wdReplaceAll

Перейти на страницу:

Похожие книги

Гостиная
Гостиная

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

Линиза Жалпанова , Линиза Жувановна Жалпанова , Наталья Михайловна Сухинина , Наталья Сухинина

Сделай сам / Дом и досуг
Справочник настоящего мужчины
Справочник настоящего мужчины

В книге собраны и обобщены практические рекомендации и инструкции, которые помогут мужчине оставаться настоящим «Джеймсом Бондом» как в экстремальных условиях, так и в повседневной жизни. Рассмотрено: как организовать слежку и наблюдение, уходить от погони, как общаться с сотрудниками правоохранительных органов, как обезопасить себя на улицах и в подворотнях мегаполиса, какие охранные системы применять для квартиры и офиса, как выжить на природе, как добывать пищу с помощью подручных средств и многое другое. Рассказано, как звонить с мобильного телефона при разряженном аккумуляторе, не бояться собак, готовить напитки и коктейли и др. Все рекомендации разбиты по темам.

Андрей Петрович Кашкаров

Сделай сам / Хобби и ремесла / Прочая справочная литература / Дом и досуг / Словари и Энциклопедии