Для задания шрифта ячеек электронной
таблицы используем свойства и поля объекта Font области ячеек Range. В отличие
от Delphi, в Excel объект Font имеет дополнительные параметры, но большинство
полей совпадают по смыслу и по типу данных. В Excel дополнительно символы могут
использоваться как верхний или нижний индексы, могут иметь несколько способов
подчеркивания, а цвет символов может задаваться выбором из палитры.
Рассмотрим в деталях объект Font и его
поля. Объект Font является свойством ячейки или области ячеек Range, а доступ к
нему получаем, используя следующий оператор:
E.ActiveWorkbook.Sheets.Item[sheet].Range[range].Font, где E =
Excel.Application. Объект Font имеет несколько полей, которые влияют на режим
отображения символов ячейки. Name - наименование шрифта в формате string. В это
поле записывается имя одного из шрифтов, установленного в системе. Bold -
параметр, который может принимать значение True или False и который влияет на
толщину символов. Italic - принимает значение True (наклонный) или False
(прямой) и отвечает за наклонное написание символов. Strikethrough - равен
True, если символы перечеркнутые, или False, если не перечеркнутые. Underline -
свойство, которое определяет стиль подчеркивания, имеет тип Integer. Когда
Underline=xlUnderlineStyleNone, символы отображаются без подчеркивания, если
Underline=xlUnderlineStyleSingle, то используется обычное подчеркивание. Когда
необходимо использовать дополнительные виды подчеркивания, то применяем
определенные константы (смотрите приложение на домашней странице). Color - цвет
символов, тип longint.
Нетрудно провести
соответствие между описанием полей объекта Font ячеек Excel и объектом Tfont
Delphi. Ниже описанная функция использует это соответствие для задания шрифта
ячеек таблиц Excel из приложений Delphi. Последним аргументом этой функции
является ссылка на объект Font:Tfont, который является стандартным типом
объекта Delphi. Этот аргумент мы используем для передачи параметров шрифта в
Excel.
Так как Excel имеет больше
возможностей для отображения шрифта, то для реализации их можно использовать
дополнительную функцию SetFontRangeEx. Аргумент Superscript=True определяет
написание символов как верхний индекс. Subscript=True отображает символы как
нижний индекс. Цвет символов может определяться не только полем Color объекта
Font, но и полем ColorIndex того же объекта. ColorIndex может принимать следующие
значения: -4105 - соответствует автоматическому выбору цвета; от 1 до 56 -
одному из заданных значений палитры цветов. Underline определяет стиль
подчеркивания (integer) и может принимать одно из пяти значений (смотрите
исходный текст на домашней странице).
Code:
Function SetFontRangeEx(sheet:variant;range:string;