Setting a cell's fill RGB color with pywin32 in excel?
excel, python, pywin32
Solution
interior.color expects a hex value in BGR. If you want to specify in RGB form below code can be used.
def rgb_to_hex(rgb):
'''
ws.Cells(1, i).Interior.color uses bgr in hex
'''
bgr = (rgb[2], rgb[1], rgb[0])
strValue = '%02x%02x%02x' % bgr
# print(strValue)
iValue = int(strValue, 16)
return iValue
ws.Cells(1, 1).Interior.color = rgb_to_hex((218, 36, 238))
Problem
I'm avoiding using any other set of modules. What I am trying to do is set a cell's color in Excel, using the pywin32 libary. So far I've found how to get the cells color: ``` print xl.ActiveSheet.Cells(row, column).interior.color ``` and you can set it simply by assigning it in a similar fashion: ``` xl.ActiveSheet.Cells(row, column).interior.color = 0 #black ``` My question is how to set the cell's colour in RGB? I need something called a ColorTranslator to OLE , but I don't know how to access `system.drawing` since it seems like it's a `.NET` thing. http://msdn.microsoft.com/en-us/library/system.drawing.colortranslator.toole.aspx