Вот мой обработчик события:
procedure TGraph.ExcelExportClick(Sender: TObject);
var
Excel,WorkBook,Sheetl,Sheet2,Chart:variant;
ChartName:string;
Sheet,SeriesCollection:Variant;
vrange:variant;
i,j:integer;
begin
// Создаем экземпляр объекта автоматизации
Excel:=CreateOleObject('Excel.Application');
Excel.Visible:=true;
Excel.SheetsInNewWorkbook := 2; // Количество листов в создаваемой книге
WorkBook:=Excel.Workbooks.Add; // Создание новой рабочей книги
Sheetl:=WorkBook.Worksheets[1];
Sheet2:=WorkBook.Worksheets[2];
ChartName:=Excel.Charts.Add.Name; // Создание новой диаграммы
/ / А далее при попытке поменять любое свойство диаграммы возникает
// ошибка типа "Нельзя установить свойство Left класса ChartArea"
// и т. д. для всех свойств.
Excel.Charts.Item[ChartName].ChartArea.Left: =10;
Excel.Charts.Item[ChartName].ChartArea.Top:=10;
Excel.Charts.Item[ChartName].ChartArea.Width:=20;
Excel.Charts.Item[ChartName].ChartArea.Height:=20;
Excel.Charts.Item[ChartName].HasTitle:=true;
Excel.Charts.Item[ChartName].ChartTitle.Text:='XXX';
Что-то здесь не так. Подскажите, в чем дело.
Диаграмма создается на отдельном листе, поэтому изменить ее размеры и
положение нельзя, это не имеет смысла. Для включения заголовка необхо-
димо определить область данных для диаграммы и только после этого
включать заголовок.
Вот текст программы.
Создание диаграммы, определение области данных и включение заголовка
uses ComObj;
var Excel:variant;
Sheet1,Sheet2:variant;
WorkBook:variant;
ChartName:string;
procedure TForml.ButtonlClick(Sender: TObject);
begin
Excel:=CreateOleObject('Excel.Application');
Excel.Visible:=true;
Excel.SheetsInNewWorkbook := 2;
WorkBook:=Excel.Workbooks.Add;
Sheetl:=WorkBook.Worksheets[1];
Sheet2:=WorkBook.Worksheets[2];
ChartName:=Excel.Charts.Add.Name;
// Задаем область данных диаграммы
Excel.Charts.Item [ChartName].SeriesCollection.
Add(Source:=Sheetl.Range['D4:D12']);
Excel.Charts.Item[ChartName].HasTitle:=True;
Excel.Charts.Item[ChartName].ChartTitle.Characters.Text:='XXX';
end;
В результате выполнения данной процедуры будет создана диаграмма и из-
менен заголовок в том случае, если задана область данных диаграммы.
|