Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

22 Сентябрь 2020, 16:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Доступно и просто о работе в офисных пакетах
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Макрос для оптимизации высоты строк и в ячейках не скрытых. [Решено]  (Прочитано 913 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Smol
Участник
**
Offline Offline

Сообщений: 24


« Стартовое сообщение: 9 Январь 2020, 13:47 »

Уважаемые форумчане!

Прошу помощи:

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

 

Буду благодарен за любой ответ.

 
« Последнее редактирование: 9 Январь 2020, 19:38 от Smol » Записан
Bigor
Мастер
*****
Offline Offline

Пол: Мужской
Сообщений: 957


« Ответ #1: 9 Январь 2020, 13:59 »

Слишком расплывчатая формулировка. Напишите конкретно что куда переносить и где оптимизировать Улыбка Желательно с примером
Записан

Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут
Smol
Участник
**
Offline Offline

Сообщений: 24


« Ответ #2: 9 Январь 2020, 14:22 »

Формулировка такая:
Лист на котором скрываются некоторые строки и столбцы.
Макрос должен проводить оптимизацию строк и перенос текста в ячейках только в видимых ячейках (строках).

* HideRows.ods (10.65 Кб - загружено 5 раз.)
Записан
Smol
Участник
**
Offline Offline

Сообщений: 24


« Ответ #3: 9 Январь 2020, 14:25 »

Строки скрыты каждый раз разные в данном диапазоне.
Записан
Bigor
Мастер
*****
Offline Offline

Пол: Мужской
Сообщений: 957


« Ответ #4: 9 Январь 2020, 14:37 »

Еще непонятнее стало Улыбка Что значит перенос текста? В свойствах ячейки поставить галочку переносить по словам? И текст всегда в объединенных ячейках?
Записан

Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут
Smol
Участник
**
Offline Offline

Сообщений: 24


« Ответ #5: 9 Январь 2020, 14:47 »

Текст в объедененых ячейках .
Текст формируется формулами для печати и может быть большим. Макрос отдаёт его на печать. Нужен макрос который бы проверял скрыты строки или нет и если нет то оптимизировал высоту и переносил текст в этих строчках.
Записан
economist
Форумчанин
***
Offline Offline

Сообщений: 1 263


« Ответ #6: 9 Январь 2020, 17:21 »

Автоподбор высоты строк с переносами - сложная задача, которую я в Excel с его даже более продвинутыми макросами решить так и не смог. Переделал документ (это был договор) в формате ODT - и теперь он выглядит безупречно и красиво. В "голом" Calc - так красиво сделать не получится. Жесткие переносы строк и их разная высота - по-любому будут выглядеть "таблично". Но можно макросом или без макросов, через Base (источник данных ODB-ODS) - брать их Calc текст, а рендерить его - уже во Writer. Это если нужно красиво. 
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
Smol
Участник
**
Offline Offline

Сообщений: 24


« Ответ #7: 9 Январь 2020, 17:31 »

Вот переделал файл вложения.
При срабатывании макроса  раскрываются скрытые строки, мне надо чтобы не раскрывались, т.е. макрос должен проверить строки на "скрытость"

* 1578580196839_HideRows.ods (14.57 Кб - загружено 4 раз.)
Записан
Bigor
Мастер
*****
Offline Offline

Пол: Мужской
Сообщений: 957


« Ответ #8: 9 Январь 2020, 17:47 »

Как то так. Но неоптимально, тормозить будет на больших диапазонах
Код:
Sub OptimalCell

Sheet3=ThisComponent.Sheets.getByName("Лист1")
a = 3 '-начальная строчка для оптимизации
b = 65 '-конечная строчка для оптимизации
For t = a to b
if Sheet3.getCellRangeByPosition(0, t, 1, t).getRows().IsVisible then
Sheet3.getCellRangeByPosition(0, t, 1, t).IsTextWrapped = True' - перенос текста
Sheet3.Rows(t).OptimalHeight = True '-оптимальная высота '-оптимальная высота
end if

Next t

end sub
Записан

Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут
Smol
Участник
**
Offline Offline

Сообщений: 24


« Ответ #9: 9 Январь 2020, 17:57 »

Уважаемый Bigor,
Спасибо  работает.
Большого диапазона у меня не будет. Макс 25 строк 5 штук скрытые будут 4  в зависимости от того какой шаблон отдавать на печать.
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!