XmlMappedRange.Find - метод
Находит конкретные данные в элементе управления XmlMappedRange и возвращает объект 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
Объект Range, который представляет первую ячейку, где найдены указанные данные.
Заметки
Если соответствие не найдено, метод возвращает значение nullпустая ссылка (Nothing в Visual Basic).
Этот метод не влияет на выделенный фрагмент или активную ячейку.
Параметры для LookIn, LookAt, SearchOrder и MatchByte сохраняются каждый раз при использовании этого метода. Если не задать значения этих аргументов, при следующем вызове данного метода будут использоваться сохраненные значения. Задание этих аргументов изменяет параметры в диалоговом окне «Найти», а изменение параметров в диалоговом окне «Найти» изменяет сохраненные значения, которые используются, если аргументы не указываются. Во избежание проблем при каждом использовании данного метода задавайте эти аргументы явно.
Можно также использовать методы FindNext и FindPrevious для повторения поиска.
Примеры
В следующем примере кода значение XmlMappedRange присваивается строке "Smith", а затем методы Find, FindNext и FindPrevious используются для поиска первой ячейки со строкой "Smith". Поскольку XmlMappedRange всегда содержит в точности одну ячейку, в каждом случае находится одна и та же ячейка. В этом примере предполагается, что текущий лист содержит элемент управления XmlMappedRange с именем CustomerLastNameCell.
Private Sub FindSmith()
Me.CustomerLastNameCell.Value2 = "Smith"
' Use Find to get the range with "Smith".
Dim range1 As Excel.Range = Me.CustomerLastNameCell.Find( _
"Smith", SearchDirection:=Excel.XlSearchDirection.xlNext)
Dim address1 As String = range1.Address(ReferenceStyle:=Excel.XlReferenceStyle.xlA1)
MsgBox("Find method found the range: " & address1)
' Use FindNext to get the range with "Smith".
Dim range2 As Excel.Range = Me.CustomerLastNameCell.FindNext(range1)
Dim address2 As String = range2.Address(ReferenceStyle:=Excel.XlReferenceStyle.xlA1)
MsgBox("FindNext method found the range: " & address2)
' Use FindPrevious to get the range with "Smith".
Dim range3 As Excel.Range = Me.CustomerLastNameCell.FindPrevious(range2)
Dim address3 As String = range3.Address(ReferenceStyle:=Excel.XlReferenceStyle.xlA1)
MsgBox("FindPrevious method found the range: " & address3)
End Sub
private void FindSmith()
{
this.CustomerLastNameCell.Value2 = "Smith";
// Use Find to get the range with "Smith".
Excel.Range range1 = this.CustomerLastNameCell.Find("Smith",
missing, missing, missing, missing, Excel.XlSearchDirection.xlNext,
missing, missing, missing);
string address1 = range1.get_Address(missing, missing,
Excel.XlReferenceStyle.xlA1, missing, missing);
MessageBox.Show("Find method found the range: " + address1);
// Use FindNext to get the range with "Smith".
Excel.Range range2 = this.CustomerLastNameCell.FindNext(range1);
string address2 = range2.get_Address(missing, missing,
Excel.XlReferenceStyle.xlA1, missing, missing);
MessageBox.Show("FindNext method found the range: " + address2);
// Use FindPrevious to get the range with "Smith".
Excel.Range range3 = this.CustomerLastNameCell.FindPrevious(range2);
string address3 = range3.get_Address(missing, missing,
Excel.XlReferenceStyle.xlA1, missing, missing);
MessageBox.Show("FindPrevious method found the range: " + address3);
}
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.