Delphi 7 Excel Ole 对象文本字体颜色

Delphi 7 Excel Ole object text font color

如何在 delphi 7 和 MS Excel 2007+ 中设置单元格中的字体颜色(半文本其他颜色)?

示例:

您使用单元格的 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是到select的字符数。

这使用后期绑定。如果您更喜欢早期绑定,那么我希望代码需要稍微调整一下。

顺便说一句,如果你想设置字体样式为粗体。这样写:

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