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.