2011-09-14 5 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(); 

よろしくステファン

答えて

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

これは、 –

0

ドキュメントはnoを言います。独自のオブジェクト内にInterfaceをラップすることで、おそらくこのような機能を実装することができます。これらのメソッドをオブジェクトに書き込んだ後、RangeおよびCellプロパティを使用してシートをナビゲートできます。

概念(未テストが、 "一般的な要点" の例)

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); 
    } 
}