LO Basic. Определение позиции табуляции в документе LO Writer

Автор ost, 28 июля 2021, 09:01

0 Пользователи и 1 гость просматривают эту тему.

ost

Доброго, подскажите, как найти положение правой границы текста.

Нужно определить позицию табуляции в абзаце равной правой границе текста.
В макросе нахожу нужный абзац (oTab) и выставляю параметры табуляции следующим образом:

oTmp = oPar.ParaTabStops
oTmp(0).Position = 17000
oTmp(0).Alignment = 2
oPar.ParaTabStops = oTmp


В моем случае "17000" - правая граница текста абзаца. Как ее найти в коде, чтобы вне зависимости от параметров текста вставлять табуляцию в крайнюю правую позицию.
Спасибо.

mikekaganski

Это Вам потребуется анализировать страницу. Для самого простого случая (когда Ваш абзац находится на верхнем уровне, не в таблице, или, скажем, в многоколоночном тексте), нужно будет из ширины листа вычесть ширину боковых полей и толщину границ. См. FAQ.
С уважением,
Михаил Каганский

ost


mikekaganski

Не факт что ссылка пригодится - это просто описание разных частей модели страницы Writer для пользователя; я привёл её только для ознакомления, чтобы не совершать ошибок, как здесь (и здесь я пользовался внутренними функциями Writer для исправления, так что не смогу быстро найти соответствующие UNO-свойства).
С уважением,
Михаил Каганский

ost

Как временное решение оставлю фиксированное значение, новые документы буду формировать на основе шаблона с "правильными" параметрами текста.