我有这样的情况:
Range formulaCells = range.SpecialCells(XlCellType.xlCellTypeFormulas);
我想遍历所有这些。但问题是,当我使用 foreach 循环执行此操作时,由于特定单元格的范围对象未释放,因此发生内存泄漏。我正在尝试通过像这样的常规 for 循环来做到这一点:
for(int i = 1; i <= formulaCells.Count; i++)
{
Range cell = null;
try
{
cell = formulaCells.get_Item(i);
// do some work
}
catch(Exception e) {throw e;}
finally
{
If(cell != null)
{
Marshal.ReleaseCOMObject(cell);
cell = null;
}
}
}
但是 get_Item() 将行索引作为参数,因此它将通过没有公式的单元格。我无法迭代它。我该怎么做?