Loading [MathJax]/extensions/tex2jax.js

2015-08-17

C#にてExcelの検索機能(Find関数)を利用する

C#からExcelのシートを検索するときには、下記のようにFind関数とFindNext関数を組み合わせればOKです。注意点としては、検索の開始位置は初期値の次の位置です。例えば、下記のコードを利用した場合、指定した列の2行目から検索が始まります。

Range targetRange = null;
Range firstFind = null;
Range currentFind=null;
targetRange = sheet.Columns[colName]; //シート内での検索範囲
currentFind = targetRange.Find(keyword, //検索キー
Type.Missing, XlFindLookIn.xlValues, XlLookAt.xlPart,
XlSearchOrder.xlByRows, XlSearchDirection.xlNext, false,
Type.Missing, Type.Missing);
while (currentFind != null){
if (firstFind == null){
firstFind = currentFind;
}
else if (currentFind.get_Address(XlReferenceStyle.xlA1)== firstFind.get_Address(XlReferenceStyle.xlA1)){
break;
}
currentFind = targetRange.FindNext(currentFind);
}
view raw ExcelFind.cs hosted with ❤ by GitHub


0 件のコメント:

コメントを投稿