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

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

Господа! Как достучаться до Excel? (группировка строк) [D7, Win2k]


Малиновский Владимир ©   (2003-11-11 15:09:00) 

Вывожу отчеты в Excel. Захотел фичу - группировка строк.

В макросе на VBA все выглядит так:

Rows("24:26").Select
Range("A26").Activate
Selection.Rows.Group


Как из Delphi достучаться до интерфейса Selection?

Или как-то еще запустить Group?


Малиновский Владимир   (2003-11-11 16:05:00) [1]

Да, вот еще подказали - при работе с TExcelApplication и т.п.:

MyExcelWorkSheet.Range["A10","A15"].Rows.Group(EmptyParam,EmptyParam,EmptyParam,EmptyParam);

Всем спасибо ! Отчеты - просто блеск!

sapsi - СПАСИБО.


sapsi   (2003-11-11 15:41:00) [2]

Например так.
var range, xlapp,xlsheet1,xlsheet,xlbook,Cell1,Cell2: Variant;

xlApp:=CreateOleObject("Excel.Application");
xlbook:=XLApp.Workbooks.Add(xlWbatWorkSheet);
xlsheet:=xlbook.sheets[1];
xlsheet.name:="Отчет такой-то";
xlsheet.pagesetup.Orientation:=xlLandscape;

Дальше выбираем границы области
Cell1:=xlsheet.Cells[1, 1];
Cell2:=xlsheet.Cells[1, 6];
range:=xlsheet.range[cell1,cell2];
Сливаем ячейки
range.mergecells:=true;
Шрифт устанавливаем и рамочку
range.Font.Bold:= True;
range.Borders.LineStyle:=xlContinuous;
range.Borders.Weight:= xlMedium;
Дальше - в том же духе.
Cell1:=xlsheet.Cells[3, 7];
Cell2:=xlsheet.Cells[3, 8];
range:=xlsheet.range[cell1,cell2];
range.mergecells:=true;
range.Borders.LineStyle:=xlContinuous;
range.Borders.Weight:= xlMedium;
range.Font.Bold:= True;
и т.п.


Наверх

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