Как задать цвет графику в excel из delphi?

Пользователь

от fred , в категории: Другие , год назад

Как задать цвет графику в excel из delphi?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от laney_johnson , год назад

@fred 

Для задания цвета графику в Excel из Delphi необходимо выполнить следующие шаги:

  1. Получить доступ к объекту Excel. Для этого можно использовать функцию GetActiveOleObject или CreateOleObject из модуля ComObj.
1
2
3
4
5
var
  ExcelApp: Variant;
begin
  ExcelApp := GetActiveOleObject('Excel.Application');
  ExcelApp.Visible := True;


  1. Получить доступ к документу Excel. Это можно сделать с помощью свойства Workbooks объекта Excel и метода Open или Add.
1
2
3
4
var
  Workbook: Variant;
begin
  Workbook := ExcelApp.Workbooks.Open('C:Book1.xlsx');


  1. Получить доступ к листу, на котором находится график. Это можно сделать с помощью свойства Worksheets объекта Workbook.
1
2
3
4
var
  Worksheet: Variant;
begin
  Worksheet := Workbook.Worksheets['Sheet1'];


  1. Получить доступ к объекту графика. Это можно сделать с помощью метода ChartObjects объекта Worksheet.
1
2
3
4
5
6
var
  ChartObject: Variant;
  Chart: Variant;
begin
  ChartObject := Worksheet.ChartObjects[1];
  Chart := ChartObject.Chart;


  1. Установить цвет графика с помощью свойства Color объекта Chart.
1
Chart.ChartArea.Format.Fill.ForeColor.RGB := RGB(255, 0, 0);


  1. Сохранить документ 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.