This is some horrendous code which I would like to improve:
Excel.Shapes theShapes = excelSheet.Shapes;
foreach (Excel.Shape aShape in theShapes)
{
foreach (var groupItem in aShape.GroupItems)
{
//Console.WriteLine(Microsoft.VisualBasic.Information.TypeName(groupItem));
var s = (Excel.Shape) groupItem;
if (s is Excel.OLEObject) continue;
try
{
if (s.FormControlType == Excel.XlFormControl.xlDropDown)
{
Console.WriteLine("### " + s.Name);
}
}
catch (Exception e)
{
}
}
}
Is there a way to obtain drop down lists easier? How can I avoid the above exception when I try to obtain the FormControlType?
Just replace the
try...cath
with a condition confirming that it is aFormControl
.