XlsFile.SetObjectSelection Method
Sets the selected item of an object from the "Forms" palette. It can be a combobox, a listbox, a spinbox or a scrollbar. Note that this only works for objects added through the Forms toolbar. It won't return the values of ActiveX objects.
Remarks
If the object is linked to a cell, this method will change both the object and the cell.
Syntax
Namespace: FlexCel.XlsAdapter
public override void SetObjectSelection(Int32 objectIndex, String objectPath, Int32 selectedItem)
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" |
|
selectedItem | Int32 | Position of the selected item in the object. 0 means no selection, 1 means that the first item is selected. |
Examples
To set a combobox selection to be the 5th item, use the code:
XlsFile xls = new XlsFile("comboboxes.xls");
for (int i = 1; i <= xls.ObjectCount; i++)
{
TShapeProperties shp = xls.GetObjectProperties(i, false);
if (shp.ObjectType == TObjectType.ComboBox && shp.Text == "MyText")
{
xls.SetObjectSelection(i, null, 5);
}
}
To change a combo given its name instead of its text, replace shp.Text == "MyText" by shp.Name == "MyName" in the code above.