@fred
Для задания цвета графику в Excel из Delphi необходимо выполнить следующие шаги:
- Получить доступ к объекту Excel. Для этого можно использовать функцию GetActiveOleObject или CreateOleObject из модуля ComObj.
1
2
3
4
5
|
var
ExcelApp: Variant;
begin
ExcelApp := GetActiveOleObject('Excel.Application');
ExcelApp.Visible := True;
|
- Получить доступ к документу Excel. Это можно сделать с помощью свойства Workbooks объекта Excel и метода Open или Add.
1
2
3
4
|
var
Workbook: Variant;
begin
Workbook := ExcelApp.Workbooks.Open('C:Book1.xlsx');
|
- Получить доступ к листу, на котором находится график. Это можно сделать с помощью свойства Worksheets объекта Workbook.
1
2
3
4
|
var
Worksheet: Variant;
begin
Worksheet := Workbook.Worksheets['Sheet1'];
|
- Получить доступ к объекту графика. Это можно сделать с помощью метода ChartObjects объекта Worksheet.
1
2
3
4
5
6
|
var
ChartObject: Variant;
Chart: Variant;
begin
ChartObject := Worksheet.ChartObjects[1];
Chart := ChartObject.Chart;
|
- Установить цвет графика с помощью свойства Color объекта Chart.
1
|
Chart.ChartArea.Format.Fill.ForeColor.RGB := RGB(255, 0, 0);
|
- Сохранить документ Excel и закрыть его.
1
2
|
Workbook.Save;
Workbook.Close;
|
Полный код будет выглядеть примерно так:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
var
ExcelApp: Variant;
Workbook: Variant;
Worksheet: Variant;
ChartObject: Variant;
Chart: Variant;
begin
ExcelApp := GetActiveOleObject('Excel.Application');
ExcelApp.Visible := True;
Workbook := ExcelApp.Workbooks.Open('C:Book1.xlsx');
Worksheet := Workbook.Worksheets['Sheet1'];
ChartObject := Worksheet.ChartObjects[1];
Chart := ChartObject.Chart;
Chart.ChartArea.Format.Fill.ForeColor.RGB := RGB(255, 0, 0);
Workbook.Save;
Workbook.Close;
end;
|
Обратите внимание, что для использования функции RGB
необходимо добавить модуль Graphics
.