文字列の検索

ワークブックまたはワークシートで指定文字列を検索し、文字列のセルをハイライト表示する機能です。

検索セッション

検索セッションを作成し、検索を行ます。

var searchSession = new HighlightTextSearchSession(Workbook, txtKeyword.Text, Workbook.CurrentWorksheet);
searchSession.Search();

検索結果をハイライト

マッチングしている全てのセルをハイライト表示します。

searchSession.MarkAllResultHighlight(SolidColor.Goldenrod);

全てのハイラトを解除する場合、以下のメソッドを利用します。

searchSession?.UnmarkAllResultHighlight();

選択範囲を移動する

マッチしているセルを選択するには、 NextMatch() または PreviousMatch() メソッドを利用します。

private void btnFindNext_Click(object sender, RoutedEventArgs e)
{
    var matchResult = searchSession.NextMatch();

    if (matchResult != null)
    {
        matchResult.Cell.Worksheet.SelectionRange = matchResult.Cell.RangePosition;
    }
}

private void btnFindPrevious_Click(object sender, RoutedEventArgs e)
{
    var matchResult = searchSession.PreviousMatch();

    if (match != null)
    {
        matchResult.Cell.Worksheet.SelectionRange = matchResult.Cell.RangePosition;
    }
}

選択範囲の移動のループ

選択範囲移動のループが有効となる場合、最後のマッチングしたセルから先頭のセルに移動することができます。 セッションの以下のプロパティでループの有効/無効を設定できます。

searchSession.LoopSearch = true;