Имя: Пароль:
1C
1С v8
Как задать цвет фона ячейки в EXCEL
,
0 nemoxp
 
22.10.14
11:17
Код задания фона такой:
Книга.Sheets(1).Cells(1,1).Interior.Color = 255045;
Значение Color - обязательно Число. Вопрос, как преобразовать значение цвета в 1С в число так, чтобы Excel понял. Цвет в 1С задается так:
Новый Цвет(255, 255, 255);
1 lxndr
 
22.10.14
11:22
Range("A1:A6").Interior.Color = RGB(200,160,35)
2 nemoxp
 
22.10.14
11:25
Нет в 1С функции "RGB"
3 nemoxp
 
22.10.14
11:26
Это для VBA подходит...
4 AlexYurg
 
22.10.14
11:27
Color = R*256*256 + G*256 + B
5 nemoxp
 
22.10.14
11:29
(4) Что за функция? Что есть R, G и B?

Как быть с цветом (200,160,35)?
6 Fish
 
22.10.14
11:34
(5) Читай СП:
Цвет (Color)
Зеленый (G)
Использование:

Только чтение.
Описание:

Тип: Число.
Содержит зеленую составляющую цвета.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Примечание:

Если цвет задан не абсолютным, то содержит -1.

Так же определяется красный и синий.
7 Looser-1c
 
22.10.14
11:34
(5) Red, Green и Blue
8 nemoxp
 
22.10.14
11:38
R, G и B - это переменные? Как их определить? почему R*256*256  - 256 умножается на 256?
9 Looser-1c
 
22.10.14
11:38
(8) По определению номера цвета.
Это такая формула. Просто запомни её.
10 Fish
 
22.10.14
11:40
(8) R, G и B - это составляющие цвета: Красный, Зелёный и Синий по-русски.
11 nemoxp
 
22.10.14
11:40
(6) это для фунции Цвет()! Excel не знает этого. Там цвет задается одним числом.
12 nemoxp
 
22.10.14
11:41
(9) ОК. как будет выглядить формула для цвета (200,160,35)?
13 nemoxp
 
22.10.14
11:42
вроде догнал))) сейчас попробую)))
14 nemoxp
 
22.10.14
11:45
Нет, другой цвет получается. В диалоге выбора цвета смотрю числа R, G, B - он зеленый. Подставляю в формулу - получаю голубой.
15 mergan
 
22.10.14
11:47
Цвет кодируется трехбайтовым числом, где старший байт содержит интенсивность красного, средний - синего, младший - синего. Умножение на 256 осуществляет сдвиг сдвиг байтов в числе на 8 битов. То есть перемещает байт из младшего в старший. Таким образом х*256*256 помещает число в старший байт трех байтового числа, а х*256 в средний, и соответственно без умножения помещает в младший.
16 nemoxp
 
22.10.14
11:51
Вот цвет хакки 244, 236, 197.
Для экселя пишу по формуле: 244*256*256 + 236*256 + 197
Получаю светло-голубой в Excel
17 mergan
 
22.10.14
11:52
(15)в екселе правда rgb работает наоборот, там правильнее сказать bgr. То есть синий, зеленый, красный.
18 nemoxp
 
22.10.14
11:55
(17) Спасибо! Получилось!
19 mergan
 
22.10.14
12:05
кстати что-бы много умножений не делать можно записать так формулу так ((B*256) + G) * 256 + R