Verwenden der Suche in einem Makro (Microsoft Excel)
In mehreren anderen Tipps in anderen Ausgaben von ExcelTips wird das Öffnen, Lesen, Schreiben, Anhängen und Schließen von Textdateien innerhalb eines Makros erläutert.
Ein weiterer Befehl, der sequentiellen Textdateien zugeordnet ist, ist der Befehl Suchen. Bei Verwendung in einer geöffneten Datei positioniert Seek den internen Dateizeiger auf eine bestimmte Zeichennummer in der Datei. Das folgende Codefragment ist ein Beispiel für seine Verwendung:
Open "DOSTEXT.DAT" for Input as #1 iFileLen = LOF(1) Seek 1, iFileLen / 2
Diese Programmzeilen verwenden die LOF-Funktion, um die Länge der Datei zu bestimmen. Die letzte Zeile positioniert dann den internen Dateizeiger in der Mitte der Datei. Das anschließende Lesen oder Schreiben der Datei erfolgt von dieser Position aus.
Sie können auch Suchen als Funktion verwenden, um Ihre aktuelle Position in einer Textdatei zu bestimmen. Dies ist, was dieser Code tut:
iCurPos = Seek(1)
Dieser Befehl belässt den internen Dateizeiger dort, wo er war, setzt iCurPos jedoch auf einen Wert, der angibt, wie viele Zeichen der Zeiger in der Datei enthält. Der iCurPos-Wert ist die Position, an der alle nachfolgenden Lese- und Schreibvorgänge der Datei stattfinden.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (2475) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: