Compartilhar via


Método Module.Find (Access)

Localiza o texto especificado em um módulo padrão ou um módulo de classe.

Sintaxe

expressão. Localizar (Target, StartLine, StartColumn, EndLine, EndColumn, WholeWord, MatchCase, PatternSearch)

Expressão Uma variável que representa um objeto Module .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Target Obrigatório String O texto que você deseja localizar.
Startline Obrigatório Long A linha na qual iniciar a pesquisa. Se uma correspondência for encontrada, o valor do argumento StartLine será definido como a linha na qual o caractere inicial do texto correspondente será encontrado.
Startcolumn Obrigatório Long A coluna na qual iniciar a pesquisa. Cada caractere em uma linha está em uma coluna separada, começando com zero no lado esquerdo do módulo. Se uma correspondência for encontrada, o valor do argumento StartColumn será definido como a coluna na qual o caractere inicial do texto correspondente será encontrado.
Endline Obrigatório Long A linha na qual iniciar a pesquisa. Se uma correspondência for encontrada, o valor do argumento EndLine será definido como a linha na qual o caractere final do texto correspondente será encontrado.
Endcolumn Obrigatório Long A coluna na qual interromper a pesquisa. Se uma correspondência for encontrada, o valor do argumento EndColumn será definido como a coluna na qual o caractere inicial do texto correspondente é encontrado.
WholeWord Opcional Boolean True resulta em uma pesquisa somente por palavras inteiras. O padrão é False.
MatchCase Opcional Boolean True resulta em uma pesquisa por palavras com caso o argumento Target de correspondência. O padrão é False.
PatternSearch Opcional Boolean True resulta em uma pesquisa na qual o argumento Target pode conter caracteres curinga, como um asterisco (*) ou um ponto de interrogação (2 _). O padrão é False.

Valor de retorno

Booliano

Comentários

O método Find procura a cadeia de caracteres de texto especificado em um objeto Module. Se a cadeia de caracteres for localizada, o método Find retornará True.

Para determinar a posição no módulo no qual o texto de pesquisa foi encontrado, passe variáveis vazias para o método Find para os argumentos StartLine, StartColumn, EndLine e EndColumn . Se uma correspondência for localizada, esses argumentos irão conter o número da linha e a posição da coluna na qual o texto de pesquisa começa (StartLine, StartColumn) e termina (EndLine, EndColumn).

Por exemplo, se o texto de pesquisa for encontrado na linha 5, começar na coluna 10 e terminar na coluna 20, os valores desses argumentos serão StartLine = 5, StartColumn = 10, EndLine = 5, EndColumn = 20.

Exemplo

A função a seguir localiza em um módulo uma sequência especificada e substitui a linha que contém essa sequência por uma nova linha especificada.

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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.