Вторник, 21.11.2017, 09:17
Приветствую Вас Гость | RSS

DELPHI Report

Каталог статей Delphi Report

Главная » Статьи » MS Office (MS Word, MS Excel ) » MS Excel

2.5 Выбор шрифта
Для задания шрифта ячеек электронной таблицы используем свойства и поля объекта 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.

Code:

Function SetFontRange(sheet:variant;range:string;

font:Tfont):boolean;

begin

SetFontRange:=true;

try

E.ActiveWorkbook.Sheets.Item[sheet].Range[range].Font.Name:=font.Name;

if fsBold in font.Style then E.ActiveWorkbook.Sheets.Item

   [sheet].Range[range].Font.Bold:=True

  else E.ActiveWorkbook.Sheets.Item[sheet].Range

   [range].Font.Bold:=False;

if fsItalic in font.Style then E.ActiveWorkbook.Sheets.Item

   [sheet].Range[range].Font.Italic:=True

  else E.ActiveWorkbook.Sheets.Item[sheet].Range[range].Font.Italic:=False;

E.ActiveWorkbook.Sheets.Item[sheet].Range[range].Font.Size:=font.Size;

if fsStrikeOut in font.Style

  then E.ActiveWorkbook.Sheets.Item[sheet].Range

   [range].Font.Strikethrough:=True

  else E.ActiveWorkbook.Sheets.Item[sheet].Range

   [range].Font.Strikethrough:=False;

if fsUnderline in font.Style then

  E.ActiveWorkbook.Sheets.Item[sheet].Range

   [range].Font.Underline:=xlUnderlineStyleSingle

  else E.ActiveWorkbook.Sheets.Item[sheet].Range

   [range].Font.Underline:=xlUnderlineStyleNone;

E.ActiveWorkbook.Sheets.Item [sheet].Range

   [range].Font.Color:=font.Color;

except

SetFontRange:=false;

end;

End;

 Так как Excel имеет больше возможностей для отображения шрифта, то для реализации их можно использовать дополнительную функцию SetFontRangeEx. Аргумент Superscript=True определяет написание символов как верхний индекс. Subscript=True отображает символы как нижний индекс. Цвет символов может определяться не только полем Color объекта Font, но и полем ColorIndex того же объекта. ColorIndex может принимать следующие значения: -4105 - соответствует автоматическому выбору цвета; от 1 до 56 - одному из заданных значений палитры цветов. Underline определяет стиль подчеркивания (integer) и может принимать одно из пяти значений (смотрите исходный текст на домашней странице).

Code:

 

Function SetFontRangeEx(sheet:variant;range:string;

underlinestyle,colorindex:integer;superscript,subscript:boolean):boolean;

begin

SetFontRangeEx:=true;

try

E.ActiveWorkbook.Sheets.Item[sheet].Range[range].Font.Superscript:=superscript;

E.ActiveWorkbook.Sheets.Item[sheet].Range[range].Font.Subscript:=subscript;

E.ActiveWorkbook.Sheets.Item[sheet].Range[range].Font.ColorIndex:=colorindex;

E.ActiveWorkbook.Sheets.Item[sheet].Range[range].Font.Underline:=underlinestyle;

except

SetFontRangeEx:=false;

end;

End;

 

 Далее

Категория: MS Excel | Добавил: delphi (01.09.2008)
Просмотров: 3643 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Меню сайта
Google
Форма входа
Категории раздела
MS Excel [22]MS Word [18]
Поиск
Друзья сайта
Статистика
Copyright MyCorp © 2017