Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Высота строки в Excel [D7]


VG ©   (2005-09-28 09:39:00) 

Доброе время суток мастера!
У меня имеется задача вставить многострочный текст в объединенную ячейку в Excel. Текст заносится без проблем, но при авто выравнивании строки, средствами Excel, отображается только первая строка текста.
Я пробую решить ету проблему путем указания высоты строки в ручную, но для етого мне необходимо узнать высоту отображаемого текста. Может кто знает как узнать, ету, высоту отображаемого текста.
Если у кого есть другие методы решения етой задачи, пишите, буду рад любым идеям!!!


VG   (2005-09-28 13:39:00) [1]


> tytus   (28.09.05 10:51) [6]
> Открываешь хелп по Excel -  там все есть:
> ...\Program Files\Microsoft Office\1049\VBAXL10 - if OfficeXP

Спасибо не знал о таком прикольном хелпере.


VG   (2005-09-28 13:34:00) [2]

У меня стоит Office Xp. Я произвожу следующие действия: Объединяю две ячейки в строке (получатся объединение ячеек в двух столбцов в одной строке). Печатаю в Worde многострочный многострочный текст например:
"Мама
мыла
раму" - копирую его в буфер. Затем вхожу в режим редактирования объединенной ячейки вставляю туда текст. Выхожу из режима редактирования, путем выделения другой ячейки. Затем в столбце нумерования строк дважды кликаю левой кнопкой мыши, на нижней границе ячейки, которая определяет нумерацию строки, в которой расположена моя объединенная ячейка. И ни хрена не происходит. Но если произвести те же самые действия без объединения ячеек, т.е. вставить текст не в объединенную ячейку, то excel выравнивает высоту строки по тексту.

Я уже пришел к варианту решения етой задачи. Сначала вставлять заначение в необъединенную ячейку, педварительно задав етой ячейке длину объекдиненной, делать выравнивание по высоте строки запоминать высоту строки, а затем объединять ячейки вставлять туда значение и потом задать етой ячейки найденную высотк. Но етот вариант мне кажется не очень корректным.


tytus   (2005-09-28 10:51:00) [3]

Открываешь хелп по Excel -  там все есть:
...\Program Files\Microsoft Office\1049\VBAXL10 - if OfficeXP


dmitry501   (2005-09-28 10:41:00) [4]

VG ©   (28.09.05 10:39) [4]
У меня выровнивает сам. Office 2003 SP1


VG   (2005-09-28 10:39:00) [5]


> Вот пример конкретнее с компонентом Excel:
> ....
> Cells.Item[5,5].VerticalAlignment:=xlValignTop;
> Cells.Item[5,5].HorizontalAlignment:=xlCenter;
> Cells.Item[5,5].WrapText:=true;
> Одна фишка: если ты объединил ячейки в 4-ой и 5-ой строках,
>  то пиши в 4-ой строке.

Ксожалению ето не работает. Продлема в том что Excel сам не выравнивает высоту строки.
Если ето как -то поможет, у меня идет объединение ячеек нескольких столбцов одной строки.


tytus   (2005-09-28 10:21:00) [6]

Вот пример конкретнее с компонентом Excel:
....
Cells.Item[5,5].VerticalAlignment:=xlValignTop;
Cells.Item[5,5].HorizontalAlignment:=xlCenter;
Cells.Item[5,5].WrapText:=true;
Одна фишка: если ты объединил ячейки в 4-ой и 5-ой строках, то пиши в 4-ой строке.
Удачи.


tytus   (2005-09-28 10:11:00) [7]

Можно проще:

 WrapText:=true;


dmitry501   (2005-09-28 09:59:00) [8]

Включи в Excel "записать макрос". Потом в формате ячейки установи "переносить по словам", занеси в ячейку длинный текст, нажми enter (если высота ячейки не установится автоматом, то дважды щелкни по нижней границе в заголовке строки) и посмотри, что получилось в макросе.


Наверх

Титульная страница Поиск, карта сайта Написать письмо