TXlsFile.GetRadioButtonState Method
Gets if a radio button in the active sheet is selected or not. Note that this only works for radio buttons added through the Forms toolbar. It won't return the values of ActiveX radio buttons.
Remarks
Note that if the radio button is linked to a cell and you changed the cell value, this method will return the cell value.
Syntax
Unit: FlexCel.XlsAdapter
function TXlsFile.GetRadioButtonState(const objectIndex: Integer; const objectPath: string): Boolean; override;
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 TExcelFile.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" |
Returns
If the radio button is selected or not.
Examples
To get all the radio buttons in the active sheet, you can use this code:
var
xls: TXlsFile;
i: Int32;
shp: IShapeProperties;
begin
xls := TXlsFile.Create('radiobuttons.xls'); //Open the file we want to read.
try
for i := 1 to xls.ObjectCount do //Loop over all objects.
begin
shp := xls.GetObjectProperties(i, false);
if shp.ObjectType = TObjectType.OptionButton then //Is it a radio button?
begin
LogMessage(shp.Text + ' :' + BoolToStr(xls.GetRadioButtonState(i, ''))); //Log the state of the radio button.
end;
end;
finally
xls.Free;
end;
end;