![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MS Ёксель. Chart'ы [D6, Win2k, WinXP]
HpeHoBuHa © (2006-03-15 15:11:00)Задача построить график Ёкселя с заданного диапазона ечеек.. все бы хорошо, но вылетает ошибка "член группы не найден".
Строчку в которой сие происходит засветил жырным..
все остальное работает, а вот енто.... ех.. :(
Помогито пожалуйста разобраца.
Excel := CreateOleObject('Excel.Application');
Sheet:=Workbook.ActiveSheet;
Excel.Charts.add;
Excel.ActiveChart.ChartType := xlLine;
Excel.ActiveChart.SetSourceData(
Source:=Sheet.Range('C1:C12'),
PlotBy:=xlColumns );
{ пример из ёкселевого макроса
ActiveChart.SetSourceData Source:=Sheets("имя листа").Range("диапазон"), _
PlotBy:=xlColumns
}
Excel.ActiveChart.Location(
Where:=xlLocationAsObject,
Name:=Sheet.Name );
AbrosimovA (2006-03-15 16:47:00) [1]
var WorkSheet1,WorkSheet2,Chart1:OleVariant;
procedure TMainForm.ChartData;
var XRange,YRange: Variant;
begin
WorkSheet2:=WorkBook.WorkSheets[2];
WorkSheet2.Name:='Графики';
if Worksheet2.ChartObjects.Count>0 then
Worksheet2.ChartObjects.Delete;
Chart1:=Worksheet2.ChartObjects.Add(1, 1, 400, 250);
XRange:=Worksheet1.Range['A2','A'+IntToStr(X)];
YRange:=Worksheet1.Range['B2','B'+IntToStr(X)];
Chart1.Chart.SeriesCollection.Add(YRange);
Chart1.Chart.Axes(xlCategory).CategoryNames:=XRange;
if Flag4 then
begin
Chart1.Chart.SeriesCollection(1).ChartType:= xlLineMarkers;
Chart1.Chart.HasTitle:=true;//Отображать титул
Chart1.Chart.HasLegend:=false; //Не отображать легенду
Chart1.Chart.ChartTitle.Text:=WorkSheet1.Cells.Item[1,2].Value; //Текст титула
Chart1.Chart.ChartTitle.Interior.Color:= RGB(0, 255, 0);//Цвет фона титула
Chart1.Chart.Axes(xlValue).TickLabels.NumberFormat:= '0'+DecimalSeparator+'00';
Chart1.Chart.Axes(xlValue).HasMinorGridlines:= True;
Chart1.Chart.Axes(xlValue).MajorGridlines.Border.Color:=RGB(133,133,133);
Chart1.Chart.Axes(xlValue).MinorGridlines.Border.Color:=RGB(133,133,133);
Chart1.Chart.Axes(xlValue).MajorGridlines.Border.LineStyle:= xlDot;
Chart1.Chart.Axes(xlValue).MinorGridlines.Border.LineStyle:= xlDot;
Chart1.Chart.Axes(xlCategory).HasMajorGridlines:= True;
Chart1.Chart.Axes(xlCategory).HasMinorGridlines:= True;
Chart1.Chart.Axes(xlCategory).MajorGridlines.Border.Color:=RGB(133,133,133);
Chart1.Chart.Axes(xlCategory).MinorGridlines.Border.Color:=RGB(133,133,133);
Chart1.Chart.Axes(xlCategory).MajorGridlines.Border.LineStyle:= xlDot;
Chart1.Chart.Axes(xlCategory).MinorGridlines.Border.LineStyle:= xlDot;
Chart1.Chart.ChartArea.Border.ColorIndex:= 5;//Цвет рамки
end;
end;