Изменить цвет excel delphi

уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.

Итак, сегодня разберемся как сделать наш лист Excel более красивым, а именно разберемся со следующими вопросами:

    1. Как добраться до конкретной границы ячейки?
    2. Как изменить внешний вид границы?
    3. Как сделать заливку ячеек цветом?
    4. Как изменить шрифт в ячейках?

1. Как добраться до конкретной границы ячейки?

Excel_BordersПеред Вами окно изменения формата ячеек. Вкладка «Границы». Как видите Excel может отрисовывать следующие границы ячеек:

  • верхнюю
  • нижнюю
  • левую
  • правую
  • диагональную из верхнего левого угла в нижний правый
  • диагональную из верхнего правого угла в нижний левый

Если Вы выбираете диапазон ячеек, то дополнительно добавляются ещё два вида границ:

  • внутренние горизонтальные
  • внутренние вертикальные.

Кроме этого, Вы можете определить свой стиль линий для прорисовки и цвет линий. В самом Excel работа с форматом ячеек достаточно прозрачна и ясна. А вот при работе с Excel в Delphi все обстоит не так уж и радужно :)

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

  1. Cells — ячейка
  2. Range — диапазон ячеек
  3. UsedRage — диапазон занятых ячеек

Я обычно использую третий вариант (UsedRange), так как работаю с форматами ячеек после того как перешлю необходимые данные в Excel. Кроме того, если пересылается большая таблица с данными, то использовать Cells — значит очень сильно «подвесить» свое приложение, так как надо будет добраться до каждой ячейки и изменить её формат.

Итак, будем использовать UsedRange. Теперь разберемся как нам добраться до границ.

Для того, чтобы получить доступ к коллекции границ объекта достаточно воспользоваться объектом Borders. Так как нам необходим доступ не ко всем границам, а только к конкретной, то после Borders необходимо указывать индекс границы.  В Excel определены следующие константы:

xlDiagonalDown 5 Диагональная от верхнего левого угла в нижний правый каждой ячейки в диапазоне
xlDiagonalUp 6 Диагональная из нижнего левого угла в правый верхний каждой ячейки в диапазоне.
xlEdgeBottom 9 Нижняя для всего диапазона ячеек
xlEdgeLeft 7 Левая для всего диапазона ячеек.
xlEdgeRight 10 Правая для всего диапазона ячеек.
xlEdgeTop 8 Верхняя для всего диапазона ячеек.
xlInsideHorizontal 12 Горизонтальные границы всех внутренних ячеек диапазона
xlInsideVertical 11 Вертикальные границы всех внутренних ячеек диапазона

Теперь переносим эти константы в наш модуль работы с Excel:

uses ....
const
  xlDiagonalDown = 5;
  xlDiagonalUp = 6;
  xlEdgeBottom = 9;
  xlEdgeLeft = 7;
  xlEdgeRight = 10;
  xlEdgeTop = 8;
  xlInsideHorizontal = 12;
  xlInsideVertical = 11;
....

И для того, чтобы получить доступ, например к нижней границе диапазона ячеек, пишем следующий код:

MyExcel.ActiveWorkBook.ActiveSheet.UsedRange.Borders[xlEdgeBottom]

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

2. Как изменить внешний вид границы?

Доступ к границе получен. Теперь можно приступать к изменению внешнего вида.

Объект Borders имеет следующие свойства:

  • LineStyle — стиль линии границы
  • ColorIndex — индекс цвета границы
  • Weight — толщина границы

Для каждого из этих свойств в Excel определены свои счётчики (Enumerators) или, говоря на языке Delphi — константы.

Стили линий (LineStyle) могут быть следующие:

xlContinuous 1 Непрерывная линия
xlDash -4115 Пунктирная линия
xlDashDot 4 Пунктир с точкой
xlDashDotDot 5 Пунктир с двумя идущими подряд точками
xlDot -4118 Линия из точек
xlDouble -4119 Двойная линия
xlLineStyleNone -4142 Без линий
xlSlantDashDot 13 Наклонная пунктирная

Стандартные индексы цветов, которые вы можете использовать при прорисовке границы представлены на рисунке:

Colors

Для толщины линии определены константы:

xlHairline 1 Самая тонкая граница
xlMedium -4138 Средняя толщина
xlThick 4 Толстая граница
xlThin 2 Тонкая граница

Определите эти константы в своем модуле Delphi и можете приступать к прорисовке границ. Например, нам необходимо прорисовать внешние границы таблицы двойной линией, а внутренние — тонкими сплошными. Цвета линий оставим по умолчанию — черными. Тогда код Delphi будет выглядеть следующим образом:

...
with MyExcel.ActiveWorkBook.ActiveSheet.UsedRange do
  begin
    Borders[xlEdgeBottom].LineStyle:=xlDouble;
    Borders[xlEdgeTop].LineStyle:=xlDouble;
    Borders[xlEdgeLeft].LineStyle:=xlDouble;
    Borders[xlEdgeRight].LineStyle:=xlDouble;
    Borders[xlInsideHorizontal].LineStyle:=xlSolid;
    Borders[xlInsideVertical].LineStyle:=xlSolid;
  end;
...

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

Переходим к следующему вопросу.

3. Как сделать заливку ячеек цветом?

Для заливки ячеек цветом можно использовать те же константы, что и при работе с ячейками. Однако ни объект Range ни Cells не имеют свойства ColorIndex. Чтобы получить доступ к заливке ячейки или диапазона необходимо воспользоваться свойством Interior, которое дает доступ к внутренней части объекта. Например, выполнив операцию:

MyExcel.ActiveWorkBook.ActiveSheet.UsedRange.Interior

вы получите доступ к внутренней части диапазона занятых ячеек, т.е. по сути, ко всей таблице. А получив такой доступ, Вы можете делать с объектом всё, что угодно. Например изменим цвет нашей таблицы на красный:

MyExcel.ActiveWorkBook.ActiveSheet.UsedRange.Interior.ColorIndex:=3;

4. Как изменить шрифт в ячейках?

Для того, чтобы получить доступ к шрифтам, необходимо добраться до одного из свойств UsedRange, а именно до свойства Font, которое и вернет нам объект, позволяющий изменять шрифт, цвет шрифта и прочие атрибуты . Например, изменим цвет шрифта в таблице на синий:

MyExcel.ActiveWorkBook.ActiveSheet.UsedRange.Font.ColorIndex:=5;

Аналогичным образом, через объект Font Вы можете также изменить:

  • Толщину шрифта
  • Наклон
  • Размер
  • Сделать текст подчёркнутым и т.д.

Для этого достаточно воспользоваться одним из свойств объекта Fonts.

5
2
голоса

Рейтинг статьи

уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.

21 / 19 / 12

Регистрация: 03.11.2013

Сообщений: 866

1

Эксель. Цвет текста в ячейке

14.12.2013, 01:36. Показов 6920. Ответов 2


Студворк — интернет-сервис помощи студентам

Как изменить цвет текста в ячейке документа эксель?
Например в А1 листа 1, написано «привет» черным цветом.
мне нужно чтобы он стал красным.



0



droider

Эксперт Pascal/Delphi

4884 / 2756 / 849

Регистрация: 04.10.2012

Сообщений: 10,054

14.12.2013, 10:43

2

Лучший ответ Сообщение было отмечено Vologd как решение

Решение

Delphi
1
ExApp.Cells[1, 1].Font.Color :=clRed;



1



Vologd

21 / 19 / 12

Регистрация: 03.11.2013

Сообщений: 866

14.12.2013, 12:05

 [ТС]

3

опять выручаешь) в этот раз все просто оказалось)

Delphi
1
ap.Workbooks[1].WorkSheets[8].Range['K21'].font.color:=clred

дополню: можно задавать номер листа и ссылку на ячйку



0



Содержание

  1. Delphi excel цвет ячейки
  2. Delphi excel цвет ячейки
  3. Excel в Delphi. Свойства объекта WorkSheet.
  4. 1. Свойство Cells
  5. 2. Свойство Columns
  6. 3. Свойство Name
  7. 4. Свойство Range
  8. 5. Свойство Rows
  9. 6. Свойства StandartHeight и StandartWidth
  10. 7. Свойство UsedRange
  11. 8. Свойство Comments
  12. Excel в Delphi. Как изменить внешний вид ячеек?
  13. 1. Как добраться до конкретной границы ячейки?
  14. 2. Как изменить внешний вид границы?
  15. 3. Как сделать заливку ячеек цветом?
  16. 4. Как изменить шрифт в ячейках?

Delphi excel цвет ячейки

Я пишу программу которая будет строить отчет в Excel. Встал в тупик во с чем.

На VBA изменить цвет ячейки и цвет шрифта можно так:

При использовании конструкций «.Interior.ThemeColor = xlThemeColorAccent1″ и » .Font.ThemeColor = xlThemeColorDark1″ Delphi выдает ошибку.

Вопрос: «Можно ли в Delphi посредством стандартной цветовой схемы RGB задавать цвет ячейкам и шрифту?»

если я правильно вас поняла, то:

begin
Colum:=XLApp.Workbooks[1].WorkSheets[‘Имя_листа’].Columns;
Colum.Rows[1].Font.Color:=clRed;
end;

Этот код поменяет цвет текста на красный

Попробую переформулировать вопрос:

«Как получить доступ к палитре цветов Excel и сделать возможность ее выбора в Delphi?»

К моему большому сожалению у меня ограниченный доступ к интернету. По этой причине я не могу скачать эту книгу.
Поиски в яндексе тоже не дали результатов по интересуемой тематике. Так что буду рад любой полезной ссылке или коду!

Записываем макрос:
1. Цвет заливки
2. Другие цвета
3. Выбираем спектр
4. Ставим нужный RGB

У меня получилось следующее

Осталось теперь только определить функцию по которой Excel RGB переводит в простое число.

У кого какие идеи?

WordFunc.pas — http://kinsmarino.narod.ru/soft/WordFunc.pas
ExcelFunc.pas — http://kinsmarino.narod.ru/soft/excelFunc.pas

Для заполнения шаблонов Word и Excel вполне достаточно.
Проверено и отработано в Delphi7+Office 2000.

Вместо цифр можно сразу писать цвет RGB
Пример макроса
Sub Макрос1()

‘ Макрос1 Макрос


Range(«E2»).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = RGB(0, 255, 0)
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub

Кстати, не уверен, но вроде для того чтобы использовать конструкции «.Interior.ThemeColor = xlThemeColorAccent1″ и » .Font.ThemeColor = xlThemeColorDark1″ нужно в uses прописать ComObj, WordXp

А вот и ответ.
Заливаем ячейку цветом через RGB.

Источник

Delphi excel цвет ячейки

Всем, доброго дня.

Уважаемые эксперты, помогите найти решение проблемы.

У меня есть лист EXCEL с данными, размером 50 строк х 250 столбцов.
Каждая ячейка помимо текста закрашена в один из 4 цветов — зеленый, красный, желтый, коричневый.

Подключаюсь к EXCEL через COM, естественно в потоке.
Данные с листа считываю через объект Range:

Проблема в том, что Result содержит только текст. Мне нужен именно цвет каждой ячейки.

При прямом чтении цвета каждой ячейки получаю катастрофически низкую производительность приложения:

Попробовал ваш метод. Результаты неутешительные.

Время выполнения составило полторы минуты. Очень очень много.
Содержимое log.txt:

2015-04-12 17:47:46:504
2015-04-12 17:49:03:879

Дабы не быть голословным в приложении мое решение. (форум не позволяет более 5000 символов в сообщении).
Время выполнения составило около 40 секунд, что тоже очень много.
Содержимое log.txt:

2015-04-12 17:18:40:916
2015-04-12 17:19:26:992

Как мне кажется проблема в последовательном доступе к каждой ячейки.

Вложения

Unit1.txt (3.5 Кб, 133 просмотров)

Я бы приступил так . при нажатие кнопки импортировал это файл к БД хотя бы Access и потом начал закрашивать эту в Grid-е ячейки по условие и все . выложите ваши файл Excel-а и скажите условие по каком он там должен закрашенный

kropotkina-alice красива дівчина христос воскрес

импортировал это файл к БД хотя бы Access и потом начал закрашивать эту в Grid-е ячейки по условие и все .

И что, как узнать цвет ячеек?

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

for row := 1 to 35 do begin
for col := 1 to 250 do begin
Color:=MyExcel.Workbooks[1].WorkSheets[1].Range[GetAddressCells(row,col)].Interior.Color;
end;
end;

CoInitializeEx(nil, COINIT_MULTITHREADED); //так правильнее, должно быстрее работать

А вдруг какой-то тайный смысл у цвета

Это чуть ускорит работу, однако сразу возникает вопрос, а точнее два:
1) Куда смотрит оптимизатор?
2) Зачем нужно получать цвет, и где потом это используется?

Это из разряда мифов.

работает чуточку быстрее. (делаю так в приложенном проекте).

Источник

Excel в Delphi. Свойства объекта WorkSheet.

Продолжаем копаться в листах Excel и изучать особенности работы с ними. Сегодня мы рассмотри свойства объекта WorkSheet.

Основными свойствами, которые Вы с большой вероятностью будете использовать в своей работе с Excel в Delphi являются:

  1. Cells — ячейки
  2. Columns — столбцы
  3. Name — название листа
  4. Range — диапазон ячеек
  5. Rows — сроки
  6. StandartHeight — высота строк «по умолчанию»
  7. StandartWidth — ширина столбцов «по умолчанию»
  8. UsedRange — задействованный диапазон ячеек
  9. Comments — комментарии

Всего у листа рабочей книги Excel насчитывается 54 различных свойств, но, как показвает практика, для использования Excel в Dephi достаточно 9-15 различных свойств листа, чтобы получить необходимый результат, обеспечивающий удобство и наглядность представляемых данных.

Рассмотрим применение указанных выше свойств листа Worksheet при работе с Excel в Delphi.

1. Свойство Cells

Возвращает объект диапазона, который представляет собой все ячейки на листе (а не только клетки, которые используются в настоящее время)

Однако использование свойства Cells возможно (и более практично) в другом виде. Вы можете указать сразу за словом Cells номера столбца и строки и, таким образом, получить доступ к конкретной ячейке листа. Например, забегая немного вперед, посмотрим, как можно удалить формулы из ячейки:

Выполнив такую операцию Вы удалите из ячейки С5 формулу (или любое другое содержимое). Как можно заметить, в отличие от работы с таблицами StringGrid Delphi, здесь вначале указывается номер строки, а затем номер столбца (у String Grid напротив — сначала указывается номер столбца, а затем номер строки).

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

Ну, а чтобы показать использование этого свойства на примере, давайте напишем простенькую процедуру копирования таблицы StringGrid в любую область листа Worksheet Excel.

Здесь в качестве параметров процедуры необходимо задать: номера первого столбца (FirstCol) и первой строки (FirstRow) на листе Excel, начиная с которых необходимо копировать данные из таблицы StringGrid (Grid). Заметьте, что вызов свойств Cells у StringGrid и WorkSheet происходит по-разному (см. индексы ячейки).

Естественно, что представленная процедура может с легкостью применяться при копировании небольших таблиц. Однако при импорте больших объемов данных в Excel эта процедура будет очень сильно тормозить работы основной программы. Более скоростной способ импорта данных из Excel в Delphi и наоборот мы рассмотрим позже, при рассмотрении объекта Range.

2. Свойство Columns

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

Это свойство удобно использовать при редактировании столбцов данных. Например вот так:

Вы сможете изменить шрифт в столбце А на полужирный. Также Вы можете изменять внешний вид столбцов, перерисовывать границы ячеек и т.д.

3. Свойство Name

С этим свойством мы уже сталкивались. Свойство Name возвращает имя рабочего листа книги.

Так мы изменили имя текущего активного листа Excel. Кроме этого, свойство Name удобо использовать при поиске необходимого листа.

4. Свойство Range

Возвращает объект, представляющий собой одну ячейку или диапазон ячеек.

Так, мы получили доступ к ячейке А1 и записали в неё текст. А следующий фрагмент кода демонстрирует быстрый способ экспорта данных из листа Excel в Delphi:

Так, мы за одно обращение к листу считали столбец данных и в дальнейшем, не используя напрямую объект WorkSheet, обработали все данные в вариантном массиве Numbers. Этот способ чтения данных с листа Excel является наиболее скоростным из всех известных мне в настоящее время. Если знаете способ более скоростной — буду очень рад, если поделитесь им.

5. Свойство Rows

Это свойство аналогично свойству Columns, но в отличие от него, возвращает объект, представляющий собой строку листа. С помощью этого свойства Вы также можете изменять внешний вид ячеек листа, изменять шрифт и т.д.

6. Свойства StandartHeight и StandartWidth

Эти свойства позволяют получить значения высоты и ширины ячеек листа «по умолчанию». Свойство доступно только для чтения, т.е. вызов:

Приведет к исключительной ситуации. Вы можете использовать это свойство, например, когда необходимо гарантировано установить значения высоты и ширины строк в значения «по умолчанию»

7. Свойство UsedRange

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

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

Это свойство возвращает коллекцию комментариев на листе.

удалит второй комментарий из коллекции, а:

добавит в ячейку е5 новый комментарий.

Итак, резюмируем. Сегодня мы узнали: как записать данные в ячейку листа Excel, как прочитать данные из диапазона ячеек, как скопировать таблицу из Delphi в Excel, как быстро экспортировать данные из Excel в Delphi.

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

Источник

Excel в Delphi. Как изменить внешний вид ячеек?

Итак, сегодня разберемся как сделать наш лист Excel более красивым, а именно разберемся со следующими вопросами:

1. Как добраться до конкретной границы ячейки?

Перед Вами окно изменения формата ячеек. Вкладка «Границы». Как видите Excel может отрисовывать следующие границы ячеек:

  • верхнюю
  • нижнюю
  • левую
  • правую
  • диагональную из верхнего левого угла в нижний правый
  • диагональную из верхнего правого угла в нижний левый

Если Вы выбираете диапазон ячеек, то дополнительно добавляются ещё два вида границ:

  • внутренние горизонтальные
  • внутренние вертикальные.

Кроме этого, Вы можете определить свой стиль линий для прорисовки и цвет линий. В самом Excel работа с форматом ячеек достаточно прозрачна и ясна. А вот при работе с Excel в Delphi все обстоит не так уж и радужно 🙂

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

Я обычно использую третий вариант (UsedRange), так как работаю с форматами ячеек после того как перешлю необходимые данные в Excel. Кроме того, если пересылается большая таблица с данными, то использовать Cells — значит очень сильно «подвесить» свое приложение, так как надо будет добраться до каждой ячейки и изменить её формат.

Итак, будем использовать UsedRange. Теперь разберемся как нам добраться до границ.

Для того, чтобы получить доступ к коллекции границ объекта достаточно воспользоваться объектом Borders. Так как нам необходим доступ не ко всем границам, а только к конкретной, то после Borders необходимо указывать индекс границы. В Excel определены следующие константы:

xlDiagonalDown 5 Диагональная от верхнего левого угла в нижний правый каждой ячейки в диапазоне
xlDiagonalUp 6 Диагональная из нижнего левого угла в правый верхний каждой ячейки в диапазоне.
xlEdgeBottom 9 Нижняя для всего диапазона ячеек
xlEdgeLeft 7 Левая для всего диапазона ячеек .
xlEdgeRight 10 Правая для всего диапазона ячеек .
xlEdgeTop 8 Верхняя для всего диапазона ячеек .
xlInsideHorizontal 12 Горизонтальные границы всех внутренних ячеек диапазона
xlInsideVertical 11 Вертикальные границы всех внутренних ячеек диапазона

Теперь переносим эти константы в наш модуль работы с Excel:

И для того, чтобы получить доступ, например к нижней границе диапазона ячеек, пишем следующий код:

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

2. Как изменить внешний вид границы?

Доступ к границе получен. Теперь можно приступать к изменению внешнего вида.

Объект Borders имеет следующие свойства:

  • LineStyle — стиль линии границы
  • ColorIndex — индекс цвета границы
  • Weight — толщина границы

Для каждого из этих свойств в Excel определены свои счётчики (Enumerators) или, говоря на языке Delphi — константы.

Стили линий (LineStyle) могут быть следующие:

xlContinuous 1 Непрерывная линия
xlDash -4115 Пунктирная линия
xlDashDot 4 Пунктир с точкой
xlDashDotDot 5 Пунктир с двумя идущими подряд точками
xlDot -4118 Линия из точек
xlDouble -4119 Двойная линия
xlLineStyleNone -4142 Без линий
xlSlantDashDot 13 Наклонная пунктирная

Стандартные индексы цветов, которые вы можете использовать при прорисовке границы представлены на рисунке:

Для толщины линии определены константы:

xlHairline 1 Самая тонкая граница
xlMedium -4138 Средняя толщина
xlThick 4 Толстая граница
xlThin 2 Тонкая граница

Определите эти константы в своем модуле Delphi и можете приступать к прорисовке границ. Например, нам необходимо прорисовать внешние границы таблицы двойной линией, а внутренние — тонкими сплошными. Цвета линий оставим по умолчанию — черными. Тогда код Delphi будет выглядеть следующим образом:

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

Переходим к следующему вопросу.

3. Как сделать заливку ячеек цветом?

Для заливки ячеек цветом можно использовать те же константы, что и при работе с ячейками. Однако ни объект Range ни Cells не имеют свойства ColorIndex. Чтобы получить доступ к заливке ячейки или диапазона необходимо воспользоваться свойством Interior, которое дает доступ к внутренней части объекта. Например, выполнив операцию:

вы получите доступ к внутренней части диапазона занятых ячеек, т.е. по сути, ко всей таблице. А получив такой доступ, Вы можете делать с объектом всё, что угодно. Например изменим цвет нашей таблицы на красный:

4. Как изменить шрифт в ячейках?

Для того, чтобы получить доступ к шрифтам, необходимо добраться до одного из свойств UsedRange, а именно до свойства Font, которое и вернет нам объект, позволяющий изменять шрифт, цвет шрифта и прочие атрибуты . Например, изменим цвет шрифта в таблице на синий:

Аналогичным образом, через объект Font Вы можете также изменить:

  • Толщину шрифта
  • Наклон
  • Размер
  • Сделать текст подчёркнутым и т.д.

Для этого достаточно воспользоваться одним из свойств объекта Fonts.

Источник

Из Delphi запускаю объект Excel 2003 и динамически заполняю шаблон данными. Мне нужно динамически добавить на диаграмму новый график (получилось), и задать ему новый цвет (вопрос про это).

Примерный код — создаем новый график в уже существующей диаграмме:

chart.SeriesCollection.NewSeries;
chart.SeriesCollection(1).Name := ..
chart.SeriesCollection(1).Values := ..
chart.SeriesCollection(1).XValues := ..

chart.SeriesCollection(1). .... Color := RGB(255, 50, 0); // ?

Как задать свой RGB цвет этому новому графику?

P.S. Запись макроса, ни в 2003, ни в 2007 Excel, выставление цвета не показывает.

задан 14 мар 2017 в 10:37

Kromster's user avatar

KromsterKromster

13.5k12 золотых знаков42 серебряных знака72 бронзовых знака

Ответ оказался тривиален — цвет задается вот так:

chart.SeriesCollection(1).Interior.Color := RGB(255, 50, 0);

Единственная проблема в том, что Excel приводит назначаемый цвет к своей палитре. В итоге решение половинчатое, т.к. нельзя задать по-настоящему свой цвет.

ответ дан 14 мар 2017 в 10:55

Kromster's user avatar

KromsterKromster

13.5k12 золотых знаков42 серебряных знака72 бронзовых знака

Творец
****

Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 2
Всего: 329

Шрифты и цвета.

Для установки шрифта и размера текста выделите нужный диапазон и установите свойство Name объекта-свойства Font объекта Selection или свойство Size для изменения размера:

Код

Excel.ActiveWorkBook.WorkSheets[1].Range['F1'].Select;
Excel.Selection.Font.Name:='Courier New';
Excel.Selection.Font.Size:=18;

    Если Вы хотите установить жирный или, например, наклонный стиль написания текста установите соответствующие свойства:

Код

Excel.ActiveWorkBook.WorkSheets[1].Range['G1'].Select;
Excel.Selection.Font.Bold:=true; // Для жирного текста
Excel.Selection.Font.Italic:=true; // Для наклонного текста

    Для указания цвета текста измените свойство ColorIndex все того же объекта Font:

Код

Excel.ActiveWorkBook.WorkSheets[1].Range['A1'].Select;
Excel.Selection.Font.ColorIndex:=3;

    Вот несколько индексов цветов:

Индекс — Цвет
0 — Авто
2 — Белый
3 — Красный
5 — Синий
6 — Желтый
10 — Зеленый

Для изменения цвета фона ячейки используйте объект Interior свойства Selection:

Код

Excel.ActiveWorkBook.WorkSheets[1].Range['H1'].Select;
Excel.Selection.Interior.ColorIndex:=3; // Цвет

Добавлено @ 11:06 
Понадобятся константы:
const

Код

xlContinuous=1;
xlThin=2;
xlTop = -4160;
xlCenter = -4108;

Понравилась статья? Поделить с друзьями:
  • Изменить уровень списка word что это
  • Изменить умолчания полей в excel
  • Изменить толщину линии таблицы в excel
  • Изменить толщину границы ячейки в excel
  • Изменить тип шрифта текста в редакторах word или writer можно только