Slutsats
HotXLS lägger inte till medlemmar ThemeColor / TintAndShade i den klassiska lxHandle XLS-facaden. Dessa medlemmar tillhör den nyare OOXML-stilmodellen och har inget verkligt, round-trippbart BIFF .xls-lagringsmål. Att lägga till dem i det gamla XLS-API:et skulle skapa en vilseledande yta: värden skulle antingen gå förlorade vid sparning eller reduceras till en ungefärlig palettfärg
Det klassiska lxHandle XLS-API:et skriver BIFF .xls-filer. BIFF lagrar teckensnitts-, kant- och fyllningsfärger via palettindex, inte Office-temafärgsplatser
Använd Color, ColorIndex och Workbook.Colors
Använd
Color när du vill tilldela ett RGB-värde. HotXLS mappar det RGB-värdet till arbetsbokens aktuella palett. Använd
ColorIndex när du vill adressera en palettplats direkt. Använd
IXLSWorkbook.Colors för att anpassa palettposter
Temafärger samt ton/skuggning
ThemeColor och TintAndShade är OOXML-.xlsx-stilkoncept. Den klassiska XLS-facaden exponerar inte dessa egenskaper eftersom en BIFF-arbetsbok saknar motsvarande tema/ton-lagring som Excel kan round-trippa som temametadata
Om källkoden använder temafärger och målfilen är .xls, lös tema/ton-kombinationen till en RGB-färg först och tilldela sedan Color eller en anpassad palettpost. Om temarelationen måste förbli redigerbar i Excel, använd XLSX-facaden (lxHandleX) och dess temamedvetna stil-egenskaper
Exempel
Det här exemplet anpassar en palettplats och använder den för en cellfyllning i en klassisk XLS-arbetsbok
Workbook.Colors[8, 0] := RGB(42, 107, 191);
Workbook.Worksheets[1].Range['A1', 'D1'].Interior.ColorIndex := 8;