Search Results for

    Show / Hide Table of Contents

    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.

    Remarks

    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

    • TExcelFile
    In This Article
    Back to top FlexCel Studio for VCL and FireMonkey v7.24
    © 2002 - 2025 tmssoftware.com