Currently you can do it if the file originally having the shape is xls with this command:
xlso.SetObjectProperty(-1, "@label 2", TShapeOption.fillColor, $0069DC);
There are 3 things to notice here:
1)The color is written as BGR, not RGB, so for R=220 ($DC), G=105($69) and B =0, you would use $0069DC
2)To find a shape by name, like "label 2" you need to assign the shape a "real" name, by going to the "name box" at the left top corner of Excel with the shape selected and typing a name. If there is no name at all, Excel will still display something like "shape n" (label 2 for example for the second label in the sheet), but the shape doesn't have a name and FlexCel won't find it.
It is a good idea to anyway rename shapes to meaningful names (say "CompanyLogo" instead of "label 2") specially because Excel can change the autogenrated names for shapes when some shape is deleted and say label 2 goes to be label 1.
3)As said, this currently will work only for shapes that were originally saved as xls. (even when you can create xlsx files from those xls files). This is because xlsx shapes have extended attributes (like say transparency) which are stored separately. So the code above will change the shape background color, but it won't show because the extended background color in xlsx will not change, and Excel will show that instead.
I think it should be simple to clear the extended shape color when you change the normal shape color so this works in xlsx too.Currently we are working in a FlexCel 7 release and there are lots of features to code, so it will take some time until the next version of FlexCel is available.. But if you email me to adrian@tmssoftware.com with your registration email I can send you an internal version which should clear the extra color attirbutes in xlsx when you set the normal color attributes.