VBA для тех кто любит думать
508 Resource Limit Is Reached

Resource Limit Is Reached

The website is temporarily unable to service your request as it exceeded resource limit. Please try again later.

VBA и Office XP - часть 85


 

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

 

Sub Макрос2()

'

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

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

'

With Selection.ParagraphFormat

.LeftIndent = CentimetersToPoints(1)

.RightIndent = CentimetersToPoints(1)

.SpaceBefore = 1

.SpaceAfter = 1

.LineSpacingRule = wdLineSpace1pt5

.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 отслеживает не столько действия пользователя, сколько изменения параметров текста. Поэтому при задании свойств абзаца с помощью соответствующего диалогового окна “Формат - Абзац” оно скрупулезно записывает в макрос все параметры этого диалогового окна, которые в нем были заданы при нажатии кнопки Ok.


Начало  Назад  Вперед


508 Resource Limit Is Reached

Resource Limit Is Reached

The website is temporarily unable to service your request as it exceeded resource limit. Please try again later.