XlsFile.GetObjectSelection Method
Gets the selected item in an object from the "Forms" palette. It can be a combobox or a listbox. 0 means no selection, 1 the first item in the list. Note that this only works for objects added through the Forms toolbar. It won't return the values of ActiveX objects.
Remarks
Note that if the object is linked to a cell and you changed the cell value, this method will return the cell value.
Syntax
Namespace: FlexCel.XlsAdapter
public override Int32 GetObjectSelection(Int32 objectIndex, String objectPath)
Parameters
<-> | Parameter | Type | Description |
---|---|---|---|
objectIndex | Int32 | Index of the object (1 based) | |
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 ExcelFile.GetObjectProperties(Int32, 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
The position of the selected item in the object. 0 means no selection, 1 the first item is selected.
Examples
To get all the comboboxes in the active sheet, you can use this code:
XlsFile xls = new XlsFile("comboboxes.xls"); //Open the file we want to read.
for (int i = 1; i <= xls.ObjectCount; i++) //Loop over all objects.
{
TShapeProperties shp = xls.GetObjectProperties(i, false);
if (shp.ObjectType == TObjectType.ComboBox) //Is it a combobox?
{
LogMessage(shp.Text + " :" + xls.GetObjectSelection(i, null).ToString()); //Log the state of the combobox
}
}