Range

Top  Previous  Next

Property Range je ekvivalentou range z Excel. Pomocí Range lze nastavit vlastnosti buněk a jejich obsah ve vymezeném rozsahu

 

Následující příklady ozřejmí použití property Range

 

Sheet.Range['A1:B2'].Cells:='12345'; // naplní rozsah A1 až B2 hodnotou 12345

Sheet.Range['A1:B2'].Background:=clYellow; // nastaví žluté pozadí ve zmíněném rozsahu

 

protože Range je defaultní property objektu Sheet, lze "Range" vynechat a následující zápisy jsou tedy ekvivalentní:

Sheet.GetCellProperty('A1').Font.Color:=clRed;        

Sheet.Range['A1'].Font.Color:=clRed;

Sheet['A1'].Font.Color:=clRed;

 

pro Range lze použít většinu CellProperty, tedy

 Sheet['A1:B2'].DisplayFormat.Kind:=fkNumeric;                                

 Sheet['A1:B2'].DisplayFormat.FormatStr:='%2.2f';

nebo

 // separator                                                            

 Sheet['A3:E3'].Frame.BottomLine:=clBlack;

 

pomocí ClearContents lze smazat vybraný rozsah

Sheet.Range['A8:E9'].ClearContents;            // smaz cells a formulas    

pomocí ClearFormats lze smazat formátování vybraného rozsahu

   ClearFormats;                              // smaz formatovani                                                                                                                                                                            

 

Sheet.Range[ ].Cells akceptuje variantní proměnnou typu pole viz příklad níže

 

 

 

procedure OnBeforeReport(Sender : TReportProperty);

var

 VArray : Variant;

begin

 Sheet.ColCount:=10;

 Sheet.RowCount:=20;                                            

 // Create an array to set multiple values at once

 VArray := VarArrayCreate([0,4,0,1],varOleStr);

 VArray[0,0] := 'John';

 VArray[0,1] := 'Smith';

 VArray[1,0] := 'Tom';

 VArray[1,1] := 'Brown';

 VArray[2,0] := 'Sue';

 VArray[2,1] := 'Thomas';

 VArray[3,0] := 'Jane';

 VArray[3,1] := 'Jones';

 VArray[4,0] := 'Adam';

 VArray[4,1] := 'Johnson';

 Sheet['A1:B2'].Cells:='12345';

 Sheet['A1:B2'].Background:=clYellow;

 

 Sheet.GetCellProperty('A1').Font.Color:=clRed;        

 Sheet['A2'].Font.Color:=clRed;

 

 Sheet['A1:B2'].DisplayFormat.Kind:=fkNumeric;                                

 Sheet['A1:B2'].DisplayFormat.FormatStr:='%2.2f';

 

 // separator                                                            

 Sheet['A3:E3'].Frame.BottomLine:=clBlack;                                                                              

 

 with Sheet['D1:E2'] do

 begin            

   Cells:=VArray;

   Font.Color:=clYellow;                                                

   Background:=clBlue;

 end;          

 

 Sheet['A5:E6'].Cells:=VArray;

 Sheet['A5:E6'].Background:=clLightBlue;

 

 Sheet['A8:E9'].Cells:=VArray;

 Sheet['A8:E9'].Background:=clLightBlue;

 Sheet['A8:E9'].ClearContents; // smaz cells a formulas                                                        

 

 With Sheet['A11:E12'] do

 begin            

   Cells:=VArray;

   Background:=clLightBlue;

   ClearFormats; // smaz formatovani                                                                                        

 end;                

end;

 

begin

end.