Compartir a través de


Método Module.Find (Access)

Encuentra el texto especificado en un módulo estándar o módulo de clase.

Sintaxis

expresión. Buscar (Target, StartLine, StartColumn, EndLine, EndColumn, WholeWord, MatchCase, PatternSearch)

Expresión Variable que representa un objeto Module .

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
Target Obligatorio String Texto que desea buscar.
Startline Obligatorio Long Línea en la que empezar a buscar. Si se encuentra una coincidencia, el valor del argumento StartLine se establece en la línea en la que se encuentra el carácter inicial del texto coincidente.
StartColumn Obligatorio Long Columna en la que comienza la búsqueda. Cada carácter de una línea se encuentra en una columna independiente, comenzando por cero en el lado izquierdo del módulo. Si se encuentra una coincidencia, el valor del argumento StartColumn se establece en la columna en la que se encuentra el carácter inicial del texto coincidente.
EndLine Obligatorio Long Línea en la que se detiene la búsqueda. Si se encuentra una coincidencia, el valor del argumento EndLine se establece en la línea en la que se encuentra el carácter final del texto coincidente.
EndColumn Obligatorio Long Columna en la que se detiene la búsqueda. Si se encuentra una coincidencia, el valor del argumento EndColumn se establece en la columna en la que se encuentra el carácter inicial del texto coincidente.
WholeWord Opcional Boolean True da como resultado una búsqueda sólo de palabras completas. El valor predeterminado es False.
MatchCase Opcional Boolean True da como resultado una búsqueda de palabras con el caso de que coincidan con el argumento Target. El valor predeterminado es False.
PatternSearch Opcional Boolean True da como resultado una búsqueda en la que el argumento Target puede contener caracteres comodín como un asterisco (*) o un signo de interrogación (?). El valor predeterminado es Falso.

Valor devuelto

Booleano

Comentarios

El método Find busca la cadena de texto especificada en un objeto Module. Si se encuentra la cadena, el método Find devuelve True.

Para determinar la posición en el módulo en el que se encontró el texto de búsqueda, pase variables vacías al método Find para los argumentos StartLine, StartColumn, EndLine y EndColumn . Si se encuentra una coincidencia, estos argumentos contendrán el número de línea y la posición de columna en la que comienza (StartLine, StartColumn) y termina (EndLine, EndColumn) el texto de búsqueda.

Por ejemplo, si el texto de búsqueda se encuentra en la línea 5, comienza en la columna 10 y termina en la columna 20, los valores de estos argumentos serán StartLine = 5, StartColumn = 10, EndLine = 5, EndColumn = 20.

Ejemplo:

La función siguiente encuentra una cadena especificada en un módulo y reemplaza la línea que la contiene por una línea nueva 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

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.