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