Проверка форматирования с помощью макроса

Автор danildushistov, 26 марта 2014, 17:36

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

danildushistov

Здравствуйте!

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

Единственная проблема, которая возникает: не получается считать свойства абзаца. Даже если записать макрос, в котором выполняется поиск объекта с заданным форматированием, то просто создается массив аргументов args(), в который помещаются выставленные в окне поиска свойства, и применяется метод dispatcher.executeDispatch (если мы что-то поменяли через поиск). То есть, мы можем изменить текст с заданными свойствами, а напрямую считать эти свойства не можем.

Пожалуйста, дайте мне подсказку. Заранее спасибо!

JohnSUN

Добро пожаловать на форум!
Подсказка 1. Не стоит предупреждать о неправильном форматировании - правильнее и проще исправить на правильное.
Подсказка 2. Весь набор параметров абзаца, все эти "значения абзацного отступа, выравнивания, междустрочного интервала и т. д.", а также необходимость переносов, висячие абзацы и многое другое в этом офисе принято хранить в стиле абзаца, а не применять вручную к каждому абзацу в отдельности.
Подсказка 3. Хороший полноценный макрос лучше записывать не через Сервис - Макросы - Записать макрос, а с помощью расширения MRI и книги Питоньяка
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

danildushistov

Спасибо за скорый ответ!

Проблема в том, что это университетская задача, и оставлена преподавателем не ради практичности, а для чисто теоретического интереса. Написать макрос, исправляющий форматирование на заданное, я могу, а вот считать отдельные свойства в форматировании объекта - нет, как ни пытаюсь. В интернете ничего похожего найти не удалось (даже на английском языке), вот и решил обратиться на форум, так как другого выхода уже не вижу.

JohnSUN

Ну, тогда подсказки 1 и 2 "мимо тазика". Но 3 - в точку. Открывай страницу 303 и вперёд!
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне