NamedRange.Find - метод
Находит определенные данные в элементе управления NamedRange и возвращает объект Microsoft.Office.Interop.Excel.Range, который представляет первую ячейку, где найдены эти данные.
Пространство имен: Microsoft.Office.Tools.Excel
Сборка: Microsoft.Office.Tools.Excel (в Microsoft.Office.Tools.Excel.dll)
Синтаксис
'Декларация
Function Find ( _
What As Object, _
After As Object, _
LookIn As Object, _
LookAt As Object, _
SearchOrder As Object, _
SearchDirection As XlSearchDirection, _
MatchCase As Object, _
MatchByte As Object, _
SearchFormat As Object _
) As Range
Range Find(
Object What,
Object After,
Object LookIn,
Object LookAt,
Object SearchOrder,
XlSearchDirection SearchDirection,
Object MatchCase,
Object MatchByte,
Object SearchFormat
)
Параметры
- What
Тип: System.Object
Искомые данные.Может быть строкой или типом данных Microsoft Office Excel.
- After
Тип: System.Object
Ячейка, после которой следует начать поиск.Это соответствует положению активной ячейки при выполнении поиска из пользовательского интерфейса.Следует отметить, что After должна быть единственной ячейкой в диапазоне.Помните, что поиск начинается после этой ячейки; поиск указанной ячейки не осуществляется до тех пор, пока метод не вернется к этой ячейке.Если этот аргумент не указывается, поиск начинается после ячейки в верхнем левом углу диапазона.
- LookIn
Тип: System.Object
Тип данных.
- LookAt
Тип: System.Object
Может быть одно из следующих значений XlLookAt: xlWhole или xlPart.
- SearchOrder
Тип: System.Object
Может быть одно из следующих значений XlSearchOrder: xlByRows или xlByColumns.
- SearchDirection
Тип: Microsoft.Office.Interop.Excel.XlSearchDirection
Направление поиска.
Может иметь одно из следующих значений XlSearchDirection:
xlNext или xlPrevious.
- MatchCase
Тип: System.Object
Значение true, чтобы при поиске учитывался регистр.Значение по умолчанию — false.
- MatchByte
Тип: System.Object
Используется только в случае выбора или установки поддержки двухбайтовых языков.Значение true, чтобы двухбайтовые символы соответствовали только двухбайтовым символам; значение false, чтобы двухбайтовые символы соответствовали своим однобайтовым эквивалентам.
- SearchFormat
Тип: System.Object
Формат поиска.
Возвращаемое значение
Тип: Microsoft.Office.Interop.Excel.Range
Объект Microsoft.Office.Interop.Excel.Range, который представляет первую ячейку, где найдены необходимые данные.
Заметки
Если соответствие не найдено, метод возвращает значение nullссылка NULL (Nothing в Visual Basic).
Этот метод не влияет на выделенный фрагмент или активную ячейку.
Параметры для LookIn, LookAt, SearchOrder и MatchByte сохраняются каждый раз при использовании этого метода.Если не задать значения этих аргументов, при следующем вызове данного метода будут использоваться сохраненные значения.Задание этих аргументов изменяет параметры в диалоговом окне «Найти», а изменение параметров в диалоговом окне «Найти» изменяет сохраненные значения, которые используются, если аргументы не указываются.Во избежание проблем при каждом использовании данного метода задавайте эти аргументы явно.
Можно также использовать методы FindNext и FindPrevious для повторения поиска.
Когда достигается конец заданного диапазона поиска, поиск начинается с начала этого диапазона.Чтобы остановить поиск при возникновении такого циклического возврата, сохраните адрес первой найденной ячейки, а затем тестируйте адрес каждой успешно найденной ячейки относительно этого сохраненного адреса.
Необязательные параметры
Сведения о необязательных параметрах см. в разделе Необязательные параметры в решениях Office.
Примеры
В следующем примере кода с помощью метода Find выполняется поиск первой ячейки со значением Seashell в элементе управления NamedRange.После этого в примере с помощью методов FindNext и FindPrevious выполняется поиск следующей ячейки со значением Seashell, а затем производится возврат к исходной ячейке.В завершение в этом примере вызывается метод Cut для вырезания содержимого первой ячейки, содержащей значение Seashell, и вставки его в ячейку B1.
В этом примере демонстрируется настройка уровня документа.
Private Sub FindValue()
Me.Range("A1").Value2 = "Barnacle"
Me.Range("A2").Value2 = "Seashell"
Me.Range("A3").Value2 = "Star Fish"
Me.Range("A4").Value2 = "Seashell"
Me.Range("A5").Value2 = "Clam Shell"
Dim namedRange1 As Microsoft.Office.Tools.Excel.NamedRange _
= Me.Controls.AddNamedRange(Me.Range("A1", "A5"), _
"namedRange1")
' Find the first occurrence of "Seashell".
Dim Range1 As Excel.Range = namedRange1.Find("Seashell", , , _
Excel.XlLookAt.xlWhole, Excel.XlSearchOrder.xlByColumns, _
Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext, _
False, False, )
' Find the next occurrence of "Seashell".
Range1 = namedRange1.FindNext(Range1)
' Return to the first occurrence of "Seashell".
Range1 = namedRange1.FindPrevious(Range1)
' Cut the range with the first "Seashell" and copy it to cell B1.
Dim namedRange2 As Microsoft.Office.Tools.Excel.NamedRange _
= Me.Controls.AddNamedRange(Range1, "namedRange2")
namedRange2.Cut(Me.Range("B1"))
End Sub
private void FindValue()
{
this.Range["A1"].Value2 = "Barnacle";
this.Range["A2"].Value2 = "Seashell";
this.Range["A3"].Value2 = "Star Fish";
this.Range["A4"].Value2 = "Seashell";
this.Range["A5"].Value2 = "Clam Shell";
Microsoft.Office.Tools.Excel.NamedRange namedRange1 =
this.Controls.AddNamedRange(this.Range["A1", "A5"],
"namedRange1");
// Find the first occurrence of "Seashell".
Excel.Range Range1 = namedRange1.Find("Seashell",
Excel.XlLookAt.xlWhole, Excel.XlSearchOrder.xlByColumns,
Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext,
false);
// Find the next occurrence of "Seashell".
Range1 = namedRange1.FindNext(Range1);
// Return to the first occurrence of "Seashell".
Range1 = namedRange1.FindPrevious(Range1);
// Cut the range with the first "Seashell" and copy it to cell B1.
Microsoft.Office.Tools.Excel.NamedRange namedRange2 =
this.Controls.AddNamedRange(Range1, "namedRange2");
namedRange2.Cut(this.Range["B1"]);
}
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.