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

Selection.Font.Name = "Times New Roman"

Selection.Font.Size = 12

Selection.Font.Colorlndex = wdBlack

что и выглядит некрасиво, и места больше требует. Примем к сведению. Идем дальше:

With Selection.ParagraphFormat

LeftIndent = CentimetersToPoints(0)

Rightlndent = CentimetersToPoints(0)

SpaceBefore = 0. SpaceAfter = 0

LineSpacingRule = wdLineSpaceSingle

FirstLineIndent = CentimetersToPoints(1.27)

End With

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



Рис. 5.11. Справка по слову "ParagraphFormat"


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

Sub Макрос2()

' Макрос2 Макрос

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

'

With Selection.ParagraphFormat

LeftIndent = 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

FirstLineIndent = CentimetersToPoints(1.27)

OutlineLevel = wdOutlineLevelBodyText

End With

End Sub

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

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

* * *

НЕБОЛЬШОЕ ОТСТУПЛЕНИЕ.

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



Рис. 5.12.Диалоговое окно установки параметров абзаца с неопределенными опциями.


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

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

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

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

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

Лучшие модели на любую фигуру без примерок и подгонок
Лучшие модели на любую фигуру без примерок и подгонок

Книга представляет собой сборник, который содержит схемы построения чертежей из двух предыдущих бестселлеров автора, а также предлагает ряд новых моделей. Галия Злачевская – автор эксклюзивной методики конструирования швейных изделий. Особенность ее метода в том, что вариант построения модели подбирается с учетом особенностей силуэта фигуры, поэтому крой сразу получается точным. И главное – больше никаких примерок и подгонок! Следуя простым рекомендациям автора, вы легко сможете «шаг за шагом» освоить эту методику и в итоге – получите идеально сидящую вещь.Вы научитесь создавать современные, неповторимые и оригинальные модели для мужчин, женщин, детей и даже малышей до 3 лет с минимальными затратами времени и сил.

Галия Мансуровна Злачевская

Сделай сам / Хобби и ремесла / Дом и досуг