Цвет шрифта текста объекта Delphi 7 Excel Ole

Как установить цвет шрифта в ячейке (половина текста другого цвета) в delphi 7 и с MS Excel 2007+?

Пример: введите здесь описание изображения


person InnerWorld    schedule 24.03.2016    source источник


Ответы (2)


Вы используете свойство Characters. ячейки для применения посимвольного форматирования. Вот очень простой пример:

uses
  ComObj, ActiveX, Graphics;

var
  Excel: OleVariant;
  Book: OleVariant;
  Cell: OleVariant;

begin
  CoInitialize(nil);
  Excel := CreateOleObject('Excel.Application');
  Book := Excel.WorkBooks.Add;
  Cell := Excel.Cells[1,1];
  Cell.Value := 'I DON''T SAY BLEH BLEH BLEH!!!';
  Cell.Characters(13, 14).Font.Color := clRed;
  Book.SaveAs('temp.xlsx');
  Excel.Quit;
end.

Здесь 13 — это индекс первого символа, а 14 — количество символов для выбора.

Это использует позднее связывание. Если вы предпочитаете раннее связывание, я ожидаю, что код потребует небольшой корректировки.

person David Heffernan    schedule 24.03.2016

Кстати, если вы хотите установить стиль для жирного шрифта. напишите так:

Cell.Characters(13, 14).Font.Bold := True;

person Jeff_Alieffson    schedule 15.04.2018