0

我想从 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 可以做到这一点吗?

4

1 回答 1

0

如果您正在查找所有已命名的范围,您应该查看 Workbook.Names 集合。Names 集合中的每个 Name 都有一个 RefersTo 属性,该属性提供由 Name 引用的公式或范围引用。(但请注意,名称可以是公式而不是范围引用)
将 oNM 调暗为名称

对于 ActiveWorkbook 中的每个 oNM.Names
debug.print oNM.Refersto
next oNM

于 2010-04-17T09:22:18.807 回答