セミコロンで区切られたコンテンツを含むテキストファイルを反復処理して、別のExcelファイルの特定の列のすべての値を検索するアプリケーションを作成します。excel.Range.Findが間違った値を返すC#
Excelでテキストファイルを開くことができます。これは正しい方法で開きます(アプリケーションを表示し、正しくフォーマットされているかどうかを確認しました)。今度は、テキストテーブルを反復してExcel.Range.Find
メソッドを使用すると、常に間違った行が返されます。
Microsoft.Office.Interop.Excel.Range current_find = usedRange_2.Cells[3].Find((String)(row.Cells[7]).Value2
Microsoft.Office.Interop.Excel.Range first_find = null
//for each row in tableOftextFile
if (first_find == null && current_find!=null)
{
first_find = current_find;
}
do
{
if (((String)current_find.Cells[3].Value2).Contains((String)row.Cells[7].Value2))
{
//this part is never reached somehow.
break;
}
else
{
current_find = usedRange_2.FindNext(current_find);
}
} while (current_find!=first_find && current_find!=null);
私のアプリケーションのすべてが正常に機能するので、ブックやシートなどに問題はないはずです。
値が存在するため、検索操作は何かを見つけなければならず、Excelアプリケーションで手動で検索して正しい結果を得ることができます。たとえば、値「40」を検索して結果をcurrent_find
に戻すと、current_find.Cells[3].Value2
は"42"かこれに似ていますが、私が期待した結果ではありません。
もし誰かが私にヒント、あるいはすばらしい解決策を与えてくれたら、あなたは