Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая / Источники / excel_2010_professionalnoe_programmirovanie_na_vba_RuLit_Me_412629.pdf
Скачиваний:
4
Добавлен:
27.09.2025
Размер:
22.97 Mб
Скачать

858

Часть VII. Дополнительные темы

В диапазонах ячеек, находящихся сбоку от полос прокрутки, можно изменить ин­ тенсивность окрашивания (в зависимости от положения ползунка полосы про­ крутки). Это значение соответствует числовой величине цветового компонента.

В диапазоне ячеек, находящемся ниже полос прокрутки, указывается комбиниро­ ванный цвет, определяемый с помощью указанных пользователем значений RGB.

В ячейке отображается десятичное значение цвета.

В следующем диапазоне ячеек можно увидеть, как будет выглядеть цвет после его преобразования в оттенки серого.

В диапазоне ячеек также отображаются соответствующие значения цвета HSL.

Темы документа

Еще в Excel 2007 появилось такое замечательное свойство, как тема документа. Те­ перь достаточно единственного щелчка мышью для изменения внешнего облика всего документа. Тема документа включает следующие три компонента: цвета, шрифты и эффекты (для графических объектов). Благодаря темам документа пользователи могут создавать презентабельные, оформленные в едином стиле, документы. Обратите вни­ мание на то, что тема применяется ко всей рабочей книге, а не только к активному ра­ бочему листу.

Концепция тем ы докум ента

В комплект поставки Microsoft Office 2010 входит 40 тем документа. Также можно загрузить или создать дополнительные темы. На ленте находится несколько коллекций стилей. (В качестве примера может служить коллекция Стили диаграмм (Chart Styles).) Набор стилей, входящих в состав каждой коллекции, зависит от темы, вы­ бранной для данного документа. И если для документа выбирается другая тема, изме­ няется его внешний вид в результате применения цветов, шрифтов и эффектов, входя­ щих в состав новой темы.

К о м п а к т-д и ск

Если вы не хотите самостоятельно просматривать темы документа, на при­ лагаемом компакт-диске откройте рабочую книгу document theme demo. x ls x . Здесь вы найдете диапазон ячеек, отображающий цвет каждой темы, две фигуры, текст (с применением обычного шрифта и шрифта заголовка), а также диаграмму. Выберите команду Разметка страницы^Темы^Темы (Page LayoutMThemes^Themes Gallery) для просмотра изменений рабочего листа после применения каждой выбранной темы.

Можно также смешивать и сопоставлять элементы темы. Например, можно восполь­ зоваться цветами из одной темы, шрифтами из другой темы и эффектами из третьей те­ мы. Также можно создать новый набор цветов или шрифтов. Пользовательские темы мо­ гут быть сохранены и применены в дальнейшем к другим рабочим книгам.

Таблица 3 0 .2 . Названия цветов тем ы

 

 

 

 

 

 

 

Строка/

1

2

3

4

5

6

7

8

9

10

столбец

 

 

 

 

 

 

 

 

 

 

1

Фон 1

Текст 1

Фон 2

Текст 2

Акцент 1

Акцент 2

Акцент 3

Акцент 4

Акцент 5

Акцент 6

2

Более

Более

Более

Более

Более

Более

Более

Более

Более

Более

 

темный

светлый

темный

светлый

светлый

светлый

светлый

светлый

светлый

светлый

 

оттенок 5%

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок 80%

 

 

50%

10%

80%

80%

80%

80%

80%

80%

*

3

Более

Более

Более

Более

Более

Более

Более

Более

Более

Более

 

темный

светлый

темный

светлый

светлый

светлый

светлый

светлый

светлый

светлый

 

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок 60%

 

15%

35%

25%

80%

60%

60%

60%

60%

60%

 

4

Более

Более

Более

Более

Более

Более

Более

Более

Более

Более

 

темный

светлый

темный

светлый

светлый

светлый

светлый

светлый

светлый

светлый

 

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок 40%

 

25%

25%

50%

80%

40%

40%

40%

40%

40%

 

5

Более

Более

Более

Более

Более

Более

Более

Более

Более

Более

 

темный

светлый

темный

темный

темный

темный

темный

темный

темный

темный

 

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок 25%

 

35%

15%

75%

25%

25%

25%

25%

25%

25%

 

6

Более

Более

Более

Более

Более

Более

Более

Более

Более

Более

 

темный

светлый

темный

темный

темный

темный

темный

темный

темный

темный

 

оттенок

оттенок 5% оттенок

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок

оттенок 50%

 

50%

 

90%

50%

50%

50%

50%

50%

50%

 

tA ndS hade.
T h e m e C o lo r

Глава 30. Работа с цветом

861

Обратите внимание: названия цветов остаются одинаковыми, даже если выбирается другая тема документа. Десять цветов темы документа отображаются в верхней строке (четыре цвета “текст/фон” и шесть цветов “акцент”). Для каждого из этих цветов приме­ няется пять вариаций более светлых и более темных оттенков.

П р и м еч а н и е

Если выбрать команду Разметка страницы^Темы^Цвета^Создать новые цве­ та темы (Page Layout^Themes^Colors^Create New Theme Colors), на экране появится два дополнительных цвета темы: Гиперссылка (Hyperlink) и Про­ смотренная гиперссылка (Followed Hyperlink). Эти цвета используются в случае создания гиперссылки и не отображаются в окне выбора цвета темы.

После прочтения этого раздела возникает желание создать макрос, который позволя­ ет изменить цвет заливки и шрифта для диапазона ячеек. Ниже приводится подобный макрос, который был записан после выбора диапазона ячеек. В качестве цвета заливки был выбран “Акцент 2, более темный оттенок 25%”, а для цвета шрифта — “Текст 2, бо­ лее светлый оттенок 80%”.

Sub

C ha ng eC o lors()

 

 

W ith

S e le c tio n . In t e r io r

 

 

.P a tte rn = x lS o lid

 

 

. P a tte rn C o lo rln d e x =

x lA u to m a tic

 

.Them eColor = xlThem eC olorAccent2

 

. TintA ndShade = -0.249977111117893

 

. P a tte rnT intA nd S h ad e

= 0

 

End

W ith

 

 

W ith

S e le c tio n . Font

 

 

.Them eColor = xlT h e m e C o lo rL ig h t2

 

.TintA ndS hade = 0.799981688894314

 

End

W ith

 

End

Sub

 

 

Я решил отказаться от применения трех свойств, имеющих отношение к узорам

( P a tte rn , P a tte r n C o lo r ln d e x и P a tte rn T in tA n d S h a d e ). Они имеют отношение к “старомодным” узорам, применяемым для оформления ячеек (эти узоры по-прежнему поддерживаются). Данные узоры можно выбрать на вкладке Заливка (Fill) в диалоговом окне Формат ячеек (Format Cells). Указанные свойства поддерживают существующие узоры, которые могут входить в состав диапазона ячеек.

Записанный макрос (после удаления связанных с узорами свойств) приведен ниже.

Sub C hangeC olors()

W ith

S e le c tio n . I n t e r io r

1

(Акцент 2, более темный оттенок 25%)

.Them eColor = xlThem eC olorA ccent2

.TintAndShade = -0.249977111117893

End

W ith

W ith

S e le c tio n .F o n t

'(Текст 2, более светлый оттенок 80%)

.Them eColor =

xlT h e m e C o lo rL ig h t2

.TintAndShade

= 0.799981688894314

End W ith

v

End Sub

 

Таким образом, для определения цвета используются свойства T h e m e C o lo r и T in ­ Значение свойства формируется согласно простому правилу:

Глава 30. Работа с цветом

863

Отображение всех цветов тем ы

Янаписал макрос, который в выбранном диапазоне ячеек отображает все 60 вариаций цветов темы.

Sub ShowThemeColors()

 

Dim

r

As

Long,

с

As

Long

For

r

=

1 To

6

 

 

 

 

For с

= 1 To 10

c ) . I n t e r io r

 

 

W ith C e lls ( r ,

 

 

.Them eColor

=

с

 

 

S e le c t

Case

с

 

 

 

 

Case

1

'

Текст/фон 1

S e le c t

 

Case

г

 

0

Case

 

1

. TintAndShade

=

Case

 

2

.TintAndShade

= -0 .0 5

Case

 

3

. TintAndShade

= -0 .1 5

Case

 

4

.TintAndShade

= -0 .2 5

Case

 

5

. TintAndShade

=

-0 .3 5

 

Case

 

6

. TintAndShade

=

-0 .5

End

S e le c t

 

 

 

Case 2

'

Текст/фон 2

 

 

S e le c t

 

Case

r

=

0

 

Case

 

1:

.TintAndShade

 

Case

 

2:

. TintAndShade = 0.5

 

Case

 

3:

.TintAndShade

=

0.3 5

 

Case

 

4:

.TintAndShade

=

0.25

 

Case

 

5:

.TintAndShade

=

0.15

 

Case 6 : .TintAndShade = 0.05

End

S e le c t

 

 

 

Case 3

'

Текст/фон 3

 

 

S e le c t

 

Case

r

 

 

 

Case

 

1:

.TintAndShade

=

0

 

Case

 

2:

.TintAndShade = -0 .1

 

Case

 

3:

.TintAndShade

= -0 .2 5

 

Case

 

4:

.TintAndShade = -0 .5

 

Case

 

5:

.TintAndShade

= -0 .7 5

 

Case 6 : .TintAndShade = -0 .9

End

S e le c t

 

 

 

Case E lse

 

1

Текст/ф он 4 и Акцент 1-6

S e le c t

 

Case

r

 

 

 

Case

 

1

. TintAndShade

=

0

 

Case

 

2

.TintAndShade

=

0.8

 

Case

 

3

.TintAndShade

=

0.6

 

Case

 

4

.TintAndShade

=

0.4

 

Case

 

5

.TintAndShade

=

-0 .2 5

End

Case

 

6

. TintAndShade

=

-0 .5

S e le c t

 

 

 

End S e le c t

 

 

 

 

 

C e lls ( r ,

c)

=

.TintAndShade

 

 

End W ith

 

 

 

 

 

 

N ext с

N ext r

End Sub

На рис. 30.8 показан результат выполнения процедуры ShowThemeColors (этот ре­ зультат лучше выглядит в цвете). Если выбрать другую тему документа, цвета будут из­ менены в соответствии с новой темой.

Глава 30. Работа с цветом

 

 

 

867

Dim

Shp

As Shape

 

 

 

 

Set

Shp

= A c tiv e S h e e t. Shapes( "Стрелка

вправо 1")

S h p .F ill.F o re C o lo r.R G B

=

RGB(255/

0,

0)

Shp. L in e . F o re C o lo r. RGB

=

RGB(255,

0,

0)

Ниже приводится альтернативный код, который позволяет достичь такого же эффекта путем использования объектных переменных.

Dim

Shp As

Shape

 

 

Dim

F illC F

As

C olorF orm at

 

Dim

LineCF

As

C olorF orm at

 

Set

Shp = A c tiv e S h e e t. Shapes( "Стрелка вправо 1")

Set

F illC F

= S h p .F ill.F o re C o lo r

Set

LineCF

=

Shp. L in e . F ore C o lor

FillC F .R G B

=

RGB(255,

0,

0)

LineCF.RGB

=

RGB(255,

0,

0)

Имейте в виду, что указанный выше код не приводит к созданию цветов, совмести­ мых с темами документа. Для указания цветов, совместимых с темами, воспользуйтесь свойством Schem eC olor и (необязательно) свойством TintA ndShade.

Ф игуры и цвета темы

Для применения цветов темы к фигуре воспользуйтесь свойствами O bjectThem e- C olor и TintA ndShade объекта фигуры F o re c o lo r. Следующий код устанавливает цвет фигуры “Акцент 4, более светлый оттенок 40%.”

W ith A c tiv e S h e e t. Shapes( 1 ) . F i l l . F o re C o lo r

. O bjectThem eC olor = msoThemeColorAccent4

. TintA ndShade = 0.4 End W ith

В результате применения этого кода получается цвет, который отличается от цвета, генерируемого с помощью кнопки Заливка цветом (Fill Color), находящейся на ленте.

К сожалению, реализация тем документов в программах Microsoft далека от совер­ шенства. Например, цвета темы диапазона не соответствуют цветам темы фигуры. На рис. 30.11 показан диапазон B2:D8, для которого выбран цвет заливки “Акцент 2, более светлый оттенок 80%.” На рабочем листе также находится треугольная фигура, которая залита цветом, заданным по умолчанию.

Поставленная задача звучит достаточно просто. В частности, цвет заливки фигуры сле­ дует сделать равным цвету заливки диапазона. Для этого воспользуемся следующим кодом.

Sub

C olo rS ha pe ()

 

W ith A c tiv e S h e e t. Shapes( 1 ) . F i l l . F o re C o lo r

 

.O bjectThem eC olor = Range( "B 2 :D8 " ) . I n t e r i o r . ThemeColor

 

. TintAndShade = Range( "B 2 :D8 " ) . I n t e r i o r . TintAndShade

 

End W ith

End

Sub

На рис. 30.12 показан результат выполнения процедуры C olorS hape. Хотя цвет фигуры подобен цвету диапазона, на самом деле они не являются идентичными. Если же применить цвет темы “Акцент 2, более светлый оттенок 80%” к фигуре путем щелчка на кнопке ленты Цвет заливки (Fill Color), цвет фигуры будет совпадать с цветом диапазона.