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.