Module.Find-Methode (Access)
Sucht angegebenen Text in einem Standardmodul oder Klassenmodul.
Syntax
Ausdruck. Find (Target, StartLine, StartColumn, EndLine, EndColumn, WholeWord, MatchCase, PatternSearch)
Ausdruck Eine Variable, die ein Module-Objekt darstellt.
Parameter
Name | Erforderlich/Optional | Datentyp | Beschreibung |
---|---|---|---|
Target | Erforderlich | String | Der Text, den Sie suchen möchten. |
Startline | Erforderlich | Long | Die Zeile, ab der gesucht werden soll. Wenn der Suchbegriff gefunden wird, zeigt der Wert des Arguments Anfangszeile auf die Zeile, in der sich das erste Zeichen des betreffenden Texts befindet. |
StartColumn | Erforderlich | Long | Die Spalte, ab der gesucht werden soll. Jedes Zeichen einer Zeile befindet sich in einer eigenen Spalte, beginnend mit Null auf der linken Seite des Moduls. Wenn eine Übereinstimmung gefunden wird, wird der Wert des Arguments StartColumn auf die Spalte festgelegt, in der das Anfangszeichen des übereinstimmenden Texts gefunden wird. |
EndLine | Erforderlich | Long | Die Zeile, in der der Suchvorgang beendet werden soll. Wenn der Suchbegriff gefunden wird, zeigt der Wert des Arguments Endzeile auf die Zeile, in der sich das letzte Zeichen des betreffenden Texts befindet. |
EndColumn | Erforderlich | Long | Die Spalte, in der der Suchvorgang beendet werden soll. Wenn eine Übereinstimmung gefunden wird, wird der Wert des Arguments EndColumn auf die Spalte festgelegt, in der das Anfangszeichen des übereinstimmenden Texts gefunden wird. |
WholeWord | Optional | Boolescher Wert | True ergibt eine Suche nach nur ganzen Wörtern. Der Standardwert ist False. |
MatchCase | Optional | Boolescher Wert | True ergibt eine Suche nach Wörtern, deren Groß-/Kleinschreibung mit dem Argument Ziel übereinstimmt. Der Standardwert ist False. |
PatternSearch | Optional | Boolescher Wert | True ergibt eine Suche, in der das Argument Ziel Platzhalterzeichen, wie z.B. ein Sternchen (*) oder ein Fragezeichen (?), enthalten kann. Der Standardwert ist False. |
Rückgabewert
Boolesch
Bemerkungen
Die FindFind-Methode sucht die angegebene Textzeichenfolge in einem Module-Objekt. Wenn die Zeichenfolge gefunden wird, gibt die FindFind-Methode den Wert TrueTrue zurück.
Um die Position in dem Modul zu bestimmen, an dem der Suchtext gefunden wurde, übergeben Sie leere Variablen für die Argumente StartLine, StartColumn, EndLine und EndColumn an die Find-Methode. Wenn eine Übereinstimmung gefunden wird, enthalten diese Argumente die Zeilennummer und Spaltenposition, an der der Suchtext beginnt (StartLine, StartColumn) und endet (EndLine, EndColumn).
Wenn der Suchtext beispielsweise in Zeile 5 gefunden wird, bei Spalte 10 beginnt und bei Spalte 20 endet, sind die Werte dieser Argumente StartLine = 5, StartColumn = 10, EndLine = 5, EndColumn = 20.
Beispiel
Mithilfe der folgenden Funktion wird eine bestimmte Zeichenfolge in einem Modul gesucht und die Zeile, in der sich die Zeichenfolge befindet, durch eine andere angegebene Zeile ersetzt.
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
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.