![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Господа! Как достучаться до 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;
и т.п.