【发布时间】:2014-06-29 20:25:57
【问题描述】:
我有一个 Excel 表格,里面有一些组合框和复选框。
我正在尝试读取他们选择的值。如果 Checkbox 上有组合框和崩溃,我的代码可以正常工作,因为其中没有 ListFillRange。
如何获取形状的形状类型,以便我的函数 GetControlValue 可以返回所有控件类型的值。
foreach (Excel.Shape s in ws.Shapes)
{
string value = GetControlValue(ws, s.Name);
}
private string GetControlValue(Excel.Worksheet ws, String shapeName)
{
var selValue = ws.Shapes.Item(shapeName).ControlFormat.Value;
//the fill range
var r = ws.Shapes.Item(shapeName).ControlFormat.ListFillRange;
var oRng = ws.Range[r];
var selectedValue = oRng.get_Item(selValue).Value;
return selectedValue;
}
还有一个 MsoShapeType 枚举,但它总是返回 msoFormControl
【问题讨论】:
标签: c# excel com office-interop ole