Метод Module.Find (Access)
Находит указанный текст в стандартном модуле или модуле класса.
Синтаксис
expression. Найти (Target, StartLine, StartColumn, EndLine, EndColumn, WholeWord, MatchCase, PatternSearch)
Выражение Переменная, представляющая объект Module .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Target (Целевое значение) | Обязательный | String | Текст, который требуется найти. |
StartLine | Обязательный | Long | Строка, с которой начинается поиск. При обнаружении совпадения значение аргумента StartLine устанавливается в строку, в которой найден начальный символ соответствующего текста. |
StartColumn | Обязательный | Long | Столбец, по которому начинается поиск. Каждый символ в строке находится в отдельном столбце, начиная с нуля в левой части модуля. При обнаружении совпадения значение аргумента StartColumn задается в столбец, в котором найден начальный символ соответствующего текста. |
EndLine | Обязательный | Long | Строка, по которой следует прекратить поиск. При обнаружении совпадения значение аргумента EndLine устанавливается в строку, в которой найден конечный символ соответствующего текста. |
EndColumn | Обязательный | Long | Столбец, в котором следует прекратить поиск. При обнаружении совпадения значение аргумента EndColumn устанавливается в столбец, в котором найден начальный символ соответствующего текста. |
WholeWord | Необязательный | Логический | Значение True приводит к поиску только целых слов. Значение по умолчанию - false. |
MatchCase | Необязательный | Логический | True приводит к поиску слов с регистром, соответствующим аргументу Target . Значение по умолчанию - false. |
PatternSearch | Необязательный | Логический | True приводит к поиску, в котором аргумент Target может содержать подстановочные знаки, такие как звездочка (*) или вопросительный знак (?). Значение по умолчанию - false. |
Возвращаемое значение
Boolean
Примечания
Метод Find выполняет поиск указанной текстовой строки в объекте Module . Если строка найдена, метод Find возвращает значение True.
Чтобы определить позицию в модуле, в котором был найден поисковый текст, передайте пустые переменные в метод Find для аргументов StartLine, StartColumn, EndLine и EndColumn . Если совпадение найдено, эти аргументы будут содержать номер строки и положение столбца, с которых начинается текст поиска (StartLine, StartColumn) и заканчивается (EndLine, EndColumn).
Например, если текст поиска найден в строке 5, начинается с столбца 10 и заканчивается в столбце 20, значения этих аргументов: StartLine = 5, StartColumn = 10, EndLine = 5, EndColumn = 20.
Пример
Следующая функция находит указанную строку в модуле и заменяет строку, содержащую ее, новой указанной строкой.
Function FindAndReplace(strModuleName As String, _
strSearchText As String, _
strNewText As String) As Boolean
Dim mdl As Module
Dim lngSLine As Long, lngSCol As Long
Dim lngELine As Long, lngECol As Long
Dim strLine As String, strNewLine As String
Dim intChr As Integer, intBefore As Integer, _
intAfter As Integer
Dim strLeft As String, strRight As String
' Open module.
DoCmd.OpenModule strModuleName
' Return reference to Module object.
Set mdl = Modules(strModuleName)
' Search for string.
If mdl.Find(strSearchText, lngSLine, lngSCol, lngELine, _
lngECol) Then
' Store text of line containing string.
strLine = mdl.Lines(lngSLine, Abs(lngELine - lngSLine) + 1)
' Determine length of line.
intChr = Len(strLine)
' Determine number of characters preceding search text.
intBefore = lngSCol - 1
' Determine number of characters following search text.
intAfter = intChr - CInt(lngECol - 1)
' Store characters to left of search text.
strLeft = Left$(strLine, intBefore)
' Store characters to right of search text.
strRight = Right$(strLine, intAfter)
' Construct string with replacement text.
strNewLine = strLeft & strNewText & strRight
' Replace original line.
mdl.ReplaceLine lngSLine, strNewLine
FindAndReplace = True
Else
MsgBox "Text not found."
FindAndReplace = False
End If
Exit_FindAndReplace:
Exit Function
Error_FindAndReplace:
MsgBox Err & ": " & Err.Description
FindAndReplace = False
Resume Exit_FindAndReplace
End Function
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.