Visual Basic - paleta color windows en visual Basic

Life is soft - evento anual de software empresarial
 
Vista:

paleta color windows en visual Basic

Publicado por Joi (1 intervención) el 10/03/2003 17:31:29
A través de un programa muestro la paleta de colores de windows. capturo el valor del color y lo dejo un una tabla.
luego al trabajar con excel quiero pintar una celda con el valor del color que almacene en la tabla pero tengo un error en los valores,
mi consulta es la siguiente, como hago que sean compatibles los valores de la paleta de vwindows con los de excel. como hago esa transformación. no se si estás son por (bytes,hexage,etc...)
ojala puedan ayudarme, gracias!!!

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:paleta color windows en visual Basic

Publicado por J.Fernando (47 intervenciones) el 11/03/2003 15:57:28
Me Imagino que para capturar el color estas utilizando GetPixel, funcion que te devuelve un valor tipo Long. Este valor debes descomponerlo en Codigo RGB y luego aplicarlo a la celda que quieres colorear.

El Codigo es el siguiente:
Option Explicit
Dim Color as Long
Dim Rojo as Byte
Dim Verde as Byte
Dim Azul as Byte

Sub Colores()
Color= 'Aqui va la funcion que utilices para obtener el color
Rojo=SacarR(Color)
Verde=SacarV(Color)
Azul= SacarA(Color)
Range("B1").Select ' por ejemplo
Selection.Interior.Color = RGB(Rojo,Verde,Azul)
End Sub

Private Function SacarR(ByVal Color As Long) As Byte
On Error Resume Next
SacarR = Color Mod 256
End Function

Private Function SacarV(ByVal Color As Long) As Byte
On Error Resume Next
SacarV = (Color \ 256) And 255
End Function

Private Function SacarA(ByVal Color As Long) As Byte
On Error Resume Next
SacarA = (Color \ 65536) And 255
End Function

Debes tener en cuenta que Excel no es capaz de reproducir todos los colores y que aunque no se produzca un error, los colores mostrados puede que no sean los reales, creo que no pasan de 56.

Saludos

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar