Метод 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 и обратная связь.