我想从Excel 2002中提取“特殊”数据(客户端要求,不能更改)其中包含的工作簿和工作表。我已在此“特殊”数据类别中对范围进行了分类。我想获取所有范围的列表,理想情况下,工作簿中的所有工作表。我感兴趣的属性是范围名称和范围地址。我一直在谷歌搜索一段时间,并没有找到任何相关的东西。
我假设Excel 2002 API会暴露这样的内容:
ApplicationClass app = new ApplicationClass();
Workbook workbook = app.Workbooks.Open(@"c:\file.xls", ...);
Worksheet worksheet = workbook.Worksheets["sheet1"] as Worksheet;
Range[] ranges = worksheet.GetAllRanges();
或类似的东西。但是,我很遗憾地错了。
Excel 2002可以实现吗?
答案 0 :(得分:0)
如果要查找Named的所有范围,则应查看Workbook.Names集合。
Names集合中的每个Name都有一个RefersTo属性,该属性提供Name引用的Formula或Range Reference。
(但请注意,名称可以是公式而不是范围引用)
Dim oNM as Name
对于ActiveWorkbook.Names中的每个oNM
debug.print oNM.Refersto
下一个oNM