RGB or RHS. Как получить?
От: Аноним  
Дата: 16.10.05 16:20
Оценка:
При работе с объектной моделью экселя хочется изменить цвет встроеной палитры.
workbook.set_Colors(1,\*???*\); функция принимает "object rhs"
Как мне его получить, даже пусть без конверций всяких.. просто выбирая цвет в паинте...?
Иль мож какой-нить редактор просто преподносит и такое представление цвета...
Ну как форум по dotnet, всетаки приятней будет узнать функцию перевода...
Спасибо..!
Re: RGB or RHS. Как получить?
От: Аноним  
Дата: 17.10.05 15:33
Оценка:
Наверно я криво объяснил...
хотя сейчас ненамного лучше кажется будет.., но может картина несколько прояснится..
Есть красный цвет (255,0,0) если я подставляю 255 в функцию, я и получаю (вижу) красный цвет..
Если я смещаюсь по шкале красного цвета до нуля, не трогая зеленый и синий, то также подставляя в функцию вижу правильную картину (изменение красного цвета) А вот как мне получить например из (0,255,0) или (10,20,30) значение при подстановке которого я бы лицезрел соответствующий цвет. Спасибо.
Re: RGB or RHS. Как получить?
От: Sinclair Россия https://github.com/evilguest/
Дата: 18.10.05 07:37
Оценка: 3 (1)
Здравствуйте, <Аноним>, Вы писали:

А>При работе с объектной моделью экселя хочется изменить цвет встроеной палитры.

А>workbook.set_Colors(1,\*???*\); функция принимает "object rhs"
Странно это очень. В хелпе екселя написано, что WorkBook.Colors принимает цвет в виде RGB:

This example sets color five in the color palette for the active workbook.

ActiveWorkbook.Colors(5) = RGB(255, 0, 0)


А вот фрагмент из хелпа по VB Scripting Edition:

Returns a whole number representing an RGB color value.

RGB(red, green, blue)

Arguments
red
Required. Number in the range 0-255 representing the red component of the color.
green
Required. Number in the range 0-255 representing the green component of the color.
blue
Required. Number in the range 0-255 representing the blue component of the color.
Remarks
Application methods and properties that accept a color specification expect that specification to be a number representing an RGB color value. An RGB color value specifies the relative intensity of red, green, and blue to cause a specific color to be displayed.

The low-order byte contains the value for red, the middle byte contains the value for green, and the high-order byte contains the value for blue.

For applications that require the byte order to be reversed, the following function will provide the same information with the bytes reversed:

Function RevRGB(red, green, blue)
   RevRGB= CLng(blue + (green * 256) + (red * 65536))
End Function

The value for any argument to RGB that exceeds 255 is assumed to be 255.

Так что попробуй отдавать вариант, в котором лежит long, полученный как
red + green*256 + blue*65536
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: RGB or RHS. Как получить?
От: Dmitry_79  
Дата: 18.10.05 08:55
Оценка:
for any argument to RGB that exceeds 255 is assumed to be 255.

S>Так что попробуй отдавать вариант, в котором лежит long, полученный как
S>red + green*256 + blue*65536


Премного благодарен. Получилось!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.