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
Тип данных.
- 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 содержит только одну ячейку, в каждом случае обнаруживается одна и та же ячейка. В этом примере кода предполагается, что текущий лист содержит объект с XmlMappedRange именем CustomerLastNameCell
.
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
, если совпадение не найдено.
Этот метод не влияет на выделение или активную ячейку.
Параметры для LookIn
, LookAt
, SearchOrder
и MatchByte
сохраняются при каждом использовании этого метода. Если значения для этих аргументов не заданы, при следующем вызове метода будут использоваться сохраненные значения. Установка этих аргументов изменяет параметры в диалоговом окне Найти, а изменение параметров в диалоговом окне Найти изменяет сохраненные значения, которые используются при пропуске аргументов. Чтобы избежать проблем, задайте эти аргументы явным образом при каждом использовании этого метода.
Для повторения Microsoft.Office.Interop.Excel.Range.FindNext* поиска можно использовать методы и FindPrevious .