Поделиться через


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 должна быть единственной ячейкой в диапазоне.Помните, что поиск начинается после этой ячейки; поиск указанной ячейки не осуществляется до тех пор, пока метод не вернется к этой ячейке.Если этот аргумент не указывается, поиск начинается после ячейки в верхнем левом углу диапазона.
  • MatchCase
    Тип: System.Object
    Значение true, чтобы при поиске учитывался регистр.Значение по умолчанию: false.
  • MatchByte
    Тип: System.Object
    Используется только в случае выбора или установки поддержки двухбайтовых языков.Значение true, чтобы двухбайтовые символы соответствовали только двухбайтовым символам; значение false, чтобы двухбайтовые символы соответствовали своим однобайтовым эквивалентам.

Возвращаемое значение

Тип: 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

См. также

Ссылки

XmlMappedRange Интерфейс

Microsoft.Office.Tools.Excel - пространство имен