-
Никак не могу придумать, как сделать следующее: В excel объединяю ячейки, например с A10:I10, позволяю добавлять в объединенную ячейку многострочный текст, добавляю его. Получается, что в объединенной ячейке видна только первая строка вставленного текста. Если я выделяю эту ячейку, то в строке формул показывается весь текст. Можно увеличить высоту ячейки, тогда весь текст будет виден, но вопрос в том, как определить, на сколько увеличить высоту, т.к. в разных случаях текст, помещаемый туда, может быть разным. Кусочек кода: Sheet.Range['A10:I10'].MergeCells := True; Row1:=m_XLApp.Workbooks[1].Worksheets['Отчет'].Rows;
Row1.Rows[10].WrapText:=true; Sheet.Cells(10,1):=MKomment.Text; Row1.Rows[10].RowHeight:=100; Повторю вопрос: Как определить величину, до которой надо увеличить высоту ячейки, чтобы виден был весь текст?
-
да в общем, ники это не определить. это зависит от шрифта, размера шрифта и т.д. Но я заметил, что иногда форматирование применяется правильно, только если сначала присвоить значение, а затем форматировать. Т.е. попробуйте поменять местами 3-ю и 4-ю стрчки кода
-
> Т.е. попробуйте поменять местами 3-ю и 4-ю стрчки кода
И 5-ю убери :)
-
> иногда форматирование применяется правильно, только если > сначала присвоить значение, а затем форматировать. Т.е. > попробуйте поменять местами 3-ю и 4-ю стрчки кода
не помогло:0(((
-
попоробуйте такую комбинацию: Row1.Rows[10].WrapText:=true; Sheet.Cells(10,1):=MKomment.Text; Row1.Rows[10].AutoFit;
-
Неа, ничего не изменилось :0(( Пробовал в разном порядке, сперва ввести значение, а потом формат ячеек, пробовал наоборот... результат тот же
-
ну, шаманить так шаманить! :) попробуйте объединить ячейки после остальных действий
-
> ну, шаманить так шаманить! :) попробуйте объединить ячейки > после остальных действий
Уже пробовал:0)). Пробовал проводить эти действия (объединение, разрешение многострочности, разрешение автоподбора высоты) во всех мыслимых комбинациях:0))
-
Кто нибудь с этим справился? Мне тоже очень нужно это!!!
Помогите!
-
обходным путём можно определить: правее в документе, в неиспользуемом столбце делаем так: tmp := ширина ширина := сумма ширин стобцов, входящих в объединённую ячейку формат текста := формат в объединённой ячейке вставляем туда текст h := высота строки текст := '' если надо, ширина := tmp текст в объединённой ячейке := ... высота := h
сорри за словестный алгоритм, я на работе, вспоминать трудно, но дома так сделал - помогла, лишь иногда неправильно определяет (с завышением на 1 строку), когда значения предельные
|