Calc Формат ячеек и Очистка формата

Автор timal1234, 27 марта 2024, 11:33

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

timal1234

Цитата: sokol92 от 28 марта 2024, 17:09
Цитата: timal1234 от 28 марта 2024, 16:59А как сразу передать диапазон строк? Или так нельзя?
oRange.Rows.OptimalHeight=TrueСм. это сообщение.
не работает для некоторых строк....
похоже я вручную когда-то менял высоту у некоторых строк....
как теперь вернуть обратно на значение по умолчанию? а потом выставить оптимальную высоту (после записи в ячейки) ?

sokol92

#31
oRange = ThisComponent.getSheets.getByName("ЭМ").getCellRangeByPosition(0, 0, 6, nLastRow - 2)
oRange.Rows.OptimalHeight = True

Чтобы вернуть высоту по умолчанию выделите нужные строки и установите их высоту с помощью контекстного меню строк (правая кнопка мыши по номеру строки).
Владимир.

timal1234

Цитата: sokol92 от 28 марта 2024, 18:05oRange = ThisComponent.getSheets.getByName("ЭМ").getCellRangeByPosition(0, 0, 6, nLastRow - 2)
oRange.Rows.OptimalHeight = True

не работает  ???

sokol92

Владимир.

timal1234

Цитата: sokol92 от 28 марта 2024, 18:05oRange = ThisComponent.getSheets.getByName("ЭМ").getCellRangeByPosition(0, 0, 6, nLastRow - 2)
oRange.Rows.OptimalHeight = True

Чтобы вернуть высоту по умолчанию выделите нужные строки и установите их высоту с помощью контекстного меню строк (правая кнопка мыши по номеру строки).
а кто знает, какую последнюю строку я менял  :) ?
может не докручу....  :)

timal1234

Цитата: timal1234 от 28 марта 2024, 18:15
Цитата: sokol92 от 28 марта 2024, 18:05oRange = ThisComponent.getSheets.getByName("ЭМ").getCellRangeByPosition(0, 0, 6, nLastRow - 2)
oRange.Rows.OptimalHeight = True

Чтобы вернуть высоту по умолчанию выделите нужные строки и установите их высоту с помощью контекстного меню строк (правая кнопка мыши по номеру строки).

а кто знает, какую последнюю строку я менял  :) ?
может не докручу....  :)
сбросил на значение по умолчанию...
всё равно не работает... ???  ???  ???

sokol92

Владимир.

timal1234


timal1234

Цитата: timal1234 от 28 марта 2024, 18:38
Цитата: sokol92 от 28 марта 2024, 18:19Выложите пример.
вот, вкладка "ЭМ".
установка оптимальной высоты - строки макроса с 215

sokol92

Открыл Ваш файл.
1. Выделил все строки (Ctrl+A), щелкнул правой кнопкой мыши по номеру строки (любой), пункт контекстного меню "Высота строки...", установил флажок "Значение по умолчанию", кнопка ОК.
2. Выполнил макрос:
Sub Test
  Dim oRange
  oRange=ThisComponent.Sheets.GetByName("ЭМ").getCellRangeByPosition(0, 0, 8, 236)
  oRange.Rows.OptimalHeight=True
End Sub
Файл приложен.

Что в этом файле не так?
Владимир.

timal1234

#40
Цитата: sokol92 от 28 марта 2024, 18:58Открыл Ваш файл.
1. Выделил все строки (Ctrl+A), щелкнул правой кнопкой мыши по номеру строки (любой), пункт контекстного меню "Высота строки...", установил флажок "Значение по умолчанию", кнопка ОК.
2. Выполнил макрос:
Sub Test
  Dim oRange
  oRange=ThisComponent.Sheets.GetByName("ЭМ").getCellRangeByPosition(0, 0, 8, 236)
  oRange.Rows.OptimalHeight=True
End Sub
Файл приложен.

Что в этом файле не так?

и я хочу понять, почему у строк 41,48, 63,80.... (после выполнения вышеуказанных действий и запуска макроса) высота так и осталась = 1,0 см  ???  ???  ??? ....

timal1234

Цитата: timal1234 от 28 марта 2024, 19:24
Цитата: sokol92 от 28 марта 2024, 18:58Открыл Ваш файл.
1. Выделил все строки (Ctrl+A), щелкнул правой кнопкой мыши по номеру строки (любой), пункт контекстного меню "Высота строки...", установил флажок "Значение по умолчанию", кнопка ОК.
2. Выполнил макрос:
Sub Test
  Dim oRange
  oRange=ThisComponent.Sheets.GetByName("ЭМ").getCellRangeByPosition(0, 0, 8, 236)
  oRange.Rows.OptimalHeight=True
End Sub
Файл приложен.

Что в этом файле не так?

и я хочу понять, почему у строк 41,48, 63,80.... (после выполнения вышеуказанных действий и запуска макроса) высота так и осталась = 1,0 см  ???  ???  ??? ....
переименовал вкладку, создал новую с тем же именем, добавил кнопку макроса...
после установки другого шрифта начинаются какие-то глюки....
при выборе ячейки вижу внизу в строке состояния надпись :
подбор высоты строки
и бегущую полосу выполнения...
???  ???  ???
:o  :o  :o

timal1234

Цитата: timal1234 от 28 марта 2024, 19:40переименовал вкладку, создал новую с тем же именем, добавил кнопку макроса...
а, понял... там в конце ещё один Sub.
а нет.
удалил его... тоже самое ... куда копать?

timal1234

Цитата: timal1234 от 28 марта 2024, 19:40Что в этом файле не так?
Заметил кое что :
в макросе надо пересчитать nLastRow_Curr_Page, и указать её в качестве последней строки... это я торопился и накосячил.
но от этого ничего не меняется.... даже на новой вкладке...
то ли шрифт такой .... то ли что ?

sokol92

Давайте по шагам.
Предварительно обновите свою версию LibreOffice до текущей стабильной (7.6.6 сегодня).

1. Открываете мой файл, приложенный к сообщению #39.
Ваше следующее замечание относится к этому файлу?
Цитата: timal1234 от 28 марта 2024, 19:40у строк 41,48, 63,80.... (после выполнения вышеуказанных действий и запуска макроса) высота так и осталась = 1,0 см
Это не понятно.
1. После установки высоты строк по умолчанию высота всех строк листа должна быть 0,45 см.
2. После выполнения моего макроса Test высота строки 41 у меня 1,78.



Владимир.