XmlMappedRange.Find 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在 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
信息的类型。
- SearchOrder
- Object
可以是下列 XlSearchOrder 值之一:xlByRows 或 xlByColumns。
- SearchDirection
- XlSearchDirection
搜索方向。可以是以下 XlSearchDirection 值之一: xlNext 或 xlPrevious。
- MatchCase
- Object
如果在搜索时区分大小写,则为 true
。 默认值为 false
。
- MatchByte
- Object
仅当已选择或安装双字节语言支持时,才会用到此参数。 如果让双字节字符仅与双字节字符相匹配,则为 true
;如果让双字节字符与其单字节等效字符相匹配,则为 false
。
- SearchFormat
- Object
搜索格式。
返回
一个 Range,表示在其中找到指定信息的第一个单元格。
示例
下面的代码示例将 的值 XmlMappedRange 设置为字符串“Smith”,然后使用 Find、 FindNext和 FindPrevious 方法来查找字符串为“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
则此方法返回 。
此方法不会影响所选内容或活动单元格。
每次使用此方法时,都会保存 、LookAt
、 SearchOrder
和 MatchByte
的设置LookIn
。 如果未指定这些参数的值,则下次调用 方法时将使用保存的值。 设置这些参数会更改“查找”对话框中的设置,而更改“查找”对话框中的设置将更改在省略参数时使用的已保存值。 若要避免出现问题,请在每次使用此方法时显式设置这些参数。
可以使用 Microsoft.Office.Interop.Excel.Range.FindNext* 和 FindPrevious 方法重复搜索。