Freigeben über


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.