XmlMappedRange.Find 方法

定义

XmlMappedRange 控件中查找指定信息,并返回表示在其中找到该信息的第一个单元格的 Range

public Microsoft.Office.Interop.Excel.Range Find (object What, object After, object LookIn, object LookAt, object SearchOrder, Microsoft.Office.Interop.Excel.XlSearchDirection SearchDirection = Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext, object MatchCase, object MatchByte, object SearchFormat);
abstract member Find : obj * obj * obj * obj * obj * Microsoft.Office.Interop.Excel.XlSearchDirection * obj * obj * obj -> Microsoft.Office.Interop.Excel.Range
Public Function Find (What As Object, Optional After As Object, Optional LookIn As Object, Optional LookAt As Object, Optional SearchOrder As Object, Optional SearchDirection As XlSearchDirection = Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext, Optional MatchCase As Object, Optional MatchByte As Object, Optional SearchFormat As Object) As Range

参数

What
Object

要搜索的数据。 可以是字符串或任何 Microsoft Office Excel 数据类型。

After
Object

从其后开始搜索的单元格。 此单元格就是从用户界面执行的搜索完成后处于活动状态的单元格。 请注意, After 必须是区域中的单个单元格。 请记住,搜索将从该单元格之后开始;只有方法绕回到指定的单元格之后,才会搜索该单元格。 如果您未指定此参数,则从该范围左上角中的单元格之后开始搜索。

LookIn
Object

信息的类型。

LookAt
Object

可以是下列 XlLookAt 值之一:xlWholexlPart

SearchOrder
Object

可以是下列 XlSearchOrder 值之一:xlByRowsxlByColumns

SearchDirection
XlSearchDirection

搜索方向。可以是以下 XlSearchDirection 值之一: xlNextxlPrevious

MatchCase
Object

如果在搜索时区分大小写,则为 true。 默认值为 false

MatchByte
Object

仅当已选择或安装双字节语言支持时,才会用到此参数。 如果让双字节字符仅与双字节字符相匹配,则为 true;如果让双字节字符与其单字节等效字符相匹配,则为 false

SearchFormat
Object

搜索格式。

返回

一个 Range,表示在其中找到指定信息的第一个单元格。

示例

下面的代码示例将 的值 XmlMappedRange 设置为字符串“Smith”,然后使用 FindFindNextFindPrevious 方法来查找字符串为“Smith”的第一个单元格。 由于 始终 XmlMappedRange 只包含一个单元格,因此在每种情况下都会找到相同的单元格。 此代码示例假定当前工作表包含名为 XmlMappedRangeCustomerLastNameCell的 。

private void FindSmith()
{
    this.CustomerLastNameCell.Value2 = "Smith";

    // Use Find to get the range with "Smith".
    Excel.Range range1 = this.CustomerLastNameCell.Find("Smith",
        Excel.XlSearchDirection.xlNext);
    string address1 = range1.get_Address(missing, missing,
        Excel.XlReferenceStyle.xlA1);
    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(
        Excel.XlReferenceStyle.xlA1);
    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(
        Excel.XlReferenceStyle.xlA1);
    MessageBox.Show("FindPrevious method found the range: " + address3);
}
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

注解

如果未找到匹配项, null 则此方法返回 。

此方法不会影响所选内容或活动单元格。

每次使用此方法时,都会保存 、LookAtSearchOrderMatchByte 的设置LookIn。 如果未指定这些参数的值,则下次调用 方法时将使用保存的值。 设置这些参数会更改“查找”对话框中的设置,而更改“查找”对话框中的设置将更改在省略参数时使用的已保存值。 若要避免出现问题,请在每次使用此方法时显式设置这些参数。

可以使用 Microsoft.Office.Interop.Excel.Range.FindNext*FindPrevious 方法重复搜索。

适用于