C#: поиск точной строки в листе Excel не работает с xlWhole - PullRequest
0 голосов
/ 05 августа 2020

В моей таблице Excel я ищу в своей программе такое ключевое слово, как «Tescase». Параметр xlWhole не находит никакого диапазона, но xlPart находит ключевое слово. Проблема с xlPart заключается в том, что он находит все слова в моем листе Excel, содержащие слово «Testcase». Но я хотел бы искать только точное ключевое слово «Testcase».

Слушайте мой код:

var app = new Application();
var workbook = app.Workbooks.Open(pExcelFile);
var worksheet = (Worksheet)workbook.Worksheets.get_Item(1);
Range range = worksheet.UsedRange; 
            
Range findTestcaseColumn = range.Find(What: "Testcase", LookIn: XlFindLookIn.xlValues, LookAt: XlLookAt.xlWhole);

if (findTestcaseColumn != null ) {
// found
} else {
 //not found
}

Но xlPart находит ключевое слово «Testcase»:

Range findTestcaseColumn = range.Find(What: "Testcase", LookIn: XlFindLookIn.xlValues, LookAt: XlLookAt.xlPart);

Спасибо за предложения.

1 Ответ

0 голосов
/ 11 августа 2020

Та же проблема здесь с VBA внутри Excel: я заполняю ячейку текстом, а затем возвращаюсь позже с .find, чтобы добавить что-то в ячейку рядом с ним. С помощью xlPart я нахожу ячейку, с xlWhole она не работает. Очень странное поведение. Вернуть стиль столбца поиска к стандартному - это решение, но это, конечно, безумие. Он должен игнорировать стиль или иметь возможность сделать это.

Пожалуйста, присоединяйтесь ко мне, чтобы оставить отзыв в Microsoft. https://docs.microsoft.com/nl-nl/office/vba/api/excel.range.find

...