TExcelFile.SetCheckboxState Method
Sets the value of a checkbox in the active sheet. Note that this only works for checkboxes added through the Forms toolbar.  It won't return the values of ActiveX checkboxes.
If the checkbox is linked to a cell, this method will change both the checkbox and the cell.
Syntax
Unit: FlexCel.Core
procedure TExcelFile.SetCheckboxState(const objectIndex: Integer; const objectPath: string; const value: TCheckboxState); virtual; abstract;
Parameters
| <-> | 
Parameter | 
Type | 
Description | 
| const | 
objectIndex | 
Integer | 
Index of the object (1 based) | 
| const | 
objectPath | 
string | 
Index to the child object you want to change the property. If it is a simple object, you can use String.Empty here, if not you need to get the ObjectPath from GetObjectProperties(Integer, Boolean) If it is "absolute"(it starts with "\"), then the path includes the objectIndex, and the objectIndex is not used. An object path of "\1\2\3" is exactly the same as using objectIndex = 1 and objectPath = "2\3" | 
| const | 
value | 
TCheckboxState | 
Value to set. | 
 
Examples
To set a checkbox given its text, use the code:
var
  xls: TXlsFile;
  i: Int32;
  shp: IShapeProperties;
begin
  xls := TXlsFile.Create('checkboxes.xls');
  try
    for i := 1 to xls.ObjectCount do
    begin
      shp := xls.GetObjectProperties(i, false);
      if (shp.ObjectType = TObjectType.CheckBox) and (shp.Text = 'MyText') then
      begin
        xls.SetCheckboxState(i, '', TCheckboxState.Checked);
      end;
    end;
  finally
    xls.Free;
  end;
end;
To change a checkbox given its name instead of its text, replace shp.Text == "MyText" by  shp.Name == "MyName" in the code above.
See also