2011-09-14 83 views
1

如果您有一个单元格的引用,是否可以在Excel工作表中四处走动? 这样的走动的Excel

Microsoft.Office.Interop.Excel.Range cellWalker = mfe.GetMyCell(Mysheet); 

cellWalker = cellWalker.GoUpOneRowButKeepColumn(); 
cellWalker = cellWalker.GoDownOneRowButKeepColumn(); 
cellWalker = cellWalker.GoLeftOneColumnButKeepRow(); 
cellWalker = cellWalker.GoRightOneColumnButKeepRow(); 

Regards Stefan

回答

3

Range.Offset属性会为你做到这一点。例如。

Microsoft.Office.Interop.Excel.Range cellWalker = mfe.GetMyCell(Mysheet); 

cellWalker = cellWalker.Offset[-1, 0]; // GoUpOneRowButKeepColumn 
cellWalker = cellWalker.Offset[1, 0]; // GoDownOneRowButKeepColumn 
cellWalker = cellWalker.Offset[0, -1]; // GoLeftOneColumnButKeepRow 
cellWalker = cellWalker.Offset[0, 1]; // GoRightOneColumnButKeepRow 
+0

这工作如想,thx –

0

该文档说no。您可以通过将接口包装到您自己的对象中来自己实现这些功能。您可以将这些方法写入对象,然后使用“范围”和“单元格”属性来导航工作表。

概念(未经测试,但 “一般要点” 的例子)

public class ExcelWalker { 
    Microsoft.Office.Interop.Excel.Range navigator 
    Microsoft.Office.Interop.Excel.Range currentCells 
    Integer currentRow,currentColumn 

    public void GoUpOneRowButKeepColumn(){ 
     currentCells = navigator.Cells(currentRow++,currentColumn); 
    } 
}