|
#1
|
|||
|
|||
Диаграмма Excel
Добрый день программисты!
у меня вопрос не на жизнь а на смерть мне нужно добавить в Excel диаграмму ряд, перепробовал кучу вариантов, ничего толком не вышло, могу сделать 1 ряд, а добавить в существующую диаграмму еще один ряд не получается. вот что у меня есть: Код:
procedure TForm1.SpeedButton4Click(Sender: TObject); const lcid = LOCALE_USER_DEFAULT; var XL: TExcelApplication; WB: TExcelWorkbook; ASheet: TExcelWorksheet; {$ifdef D7} LastCell: ExcelRange; {$else} // LastCell: Range; {$endif} AChart: _Chart; begin XL := TExcelApplication.Create(Self); WB := TExcelWorkbook.Create(Self); ASheet := TExcelWorksheet.Create(Self); XL.connect; WB.ConnectTo(XL.Workbooks.Add(EmptyParam, lcid)); ASheet.ConnectTo(XL.ActiveSheet as ExcelWorksheet); XL.Visible[lcid] := True; ASheet.Range['A1', EmptyParam].Value2 := 'M'; ASheet.Range['B1', EmptyParam].Value2 := 'Alpha'; mialphaex := VarArrayCreate([1, zap, 1, 2], varVariant); ASheet.Range['A2',ASheet.Cells.Item[zap+1, 2]].Value2 := mialphaex; VarClear(mialphaex); ASheet.Range['c1', EmptyParam].Value2 := 'Mпр'; ASheet.Range['d1', EmptyParam].Value2 := 'ALPHAпр'; mialphaexp := VarArrayCreate([1, zap+1, 1, 2], varVariant); ASheet.Range['C2',ASheet.Cells.Item[zap+2, 4]].Value2 := mialphaexp; VarClear(mialphaexp); AChart := WB.DefaultInterface.Charts.Add(EmptyParam, ASheet.DefaultInterface, 1, // кол-во диаграмм EmptyParam, lcid) as _Chart; AChart.ChartType := xlXYScatterSmooth; // тип диаграммы AChart.SetSourceData(ASheet.Range['A2',ASheet.Cells.Item[zap+1, 2]], xlcolumns); Achart.Location(xlLocationAsObject,'Лист1'); //вот в представленную выше диаграмму мне нужно воткнуть ряд ..(ASheet.Range['с2',ASheet.Cells.Item[zap+1, 4]], xlcolumns); помогите, очень прошу!!! Последний раз редактировалось Admin, 10.04.2009 в 16:00. |
#2
|
|||
|
|||
Берешь Эксель.
Включаешь запись макросов. Делаешь добалвение руками. Отключаешь запись макросов и смотришь как он это делает и транслируешь в соответсвующие вызовы из Дельфей. |
#3
|
|||
|
|||
ActiveChart.PlotArea.Select
ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(2).Name = "=""2""" ActiveChart.SeriesCollection(2).XValues = "=Лист1!$C$1:$C$7" ActiveChart.SeriesCollection(2).Values = "=Лист1!$D$1:$D$7" вот что пишет еxcel, как перевести это в дельфи??? плииз |
#4
|
|||
|
|||
вопрос снимаю, еле как нарыл в инете одну запись, и с помощью макроса и пошаговой обработки и разных подстановок получил нужную комбинацию:
Цитата:
спасибо модеру за помощь |