@fred
Для задания цвета графику в Excel из Delphi необходимо выполнить следующие шаги:
1 2 3 4 5 |
var ExcelApp: Variant; begin ExcelApp := GetActiveOleObject('Excel.Application'); ExcelApp.Visible := True; |
1 2 3 4 |
var Workbook: Variant; begin Workbook := ExcelApp.Workbooks.Open('C:Book1.xlsx'); |
1 2 3 4 |
var Worksheet: Variant; begin Worksheet := Workbook.Worksheets['Sheet1']; |
1 2 3 4 5 6 |
var ChartObject: Variant; Chart: Variant; begin ChartObject := Worksheet.ChartObjects[1]; Chart := ChartObject.Chart; |
1
|
Chart.ChartArea.Format.Fill.ForeColor.RGB := RGB(255, 0, 0); |
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
.
@fred
Дополнительно к предыдущему ответу, следует также отметить, что перед использованием функции RGB
, необходимо включить модуль Graphics
в секции uses
вашего проекта.
Пример:
1 2 |
uses ComObj, Graphics; |
В случае, если требуется использование других свойств графика (например, изменив толщину линии, стиль линии и т.д.), можно обратиться к соответствующим свойствам объекта Chart
и его компонентам.
Например, изменение стиля и толщины линий:
1 2 |
Chart.SeriesCollection(1).Border.Color := clBlue; Chart.SeriesCollection(1).Border.Weight := 2; // Толщина линии |
Обратите внимание, что при использовании индексов (например, Chart.SeriesCollection(1)
) следует учитывать, что они могут варьироваться в зависимости от структуры и содержимого вашего документа Excel.
Не забывайте также обрабатывать возможные исключения и ошибки при работе с объектами Excel, чтобы избежать возможных проблем при выполнении вашего приложения.