Funkcja Seek

Uwaga: Funkcja, metoda, obiekt lub właściwość opisana w tym temacie jest wyłączona, jeśli usługa wyrażeń programu Microsoft Jet działa w trybie piaskownicy, co uniemożliwia ocenę potencjalnie niebezpiecznych wyrażeń. Aby uzyskać więcej informacji na temat trybu piaskownicy, wyszukaj "tryb piaskownicy" w Pomocy.

Zwraca wartość typu Long określającą bieżącą pozycję odczytu/zapisu w pliku otwartym przy użyciu instrukcji Open.

Składnia

Seek(liczba_plików)

Wymagany numerargument to liczba całkowita zawierająca prawidłowe numer pliku.

Spostrzeżenia

Funkcja Szukaj zwraca wartość z roku 1 do 2 147 483 647 (co odpowiada wartości 2^31 – 1) włącznie.

Poniżej opisano zwracane wartości dla każdego trybu dostępu do pliku.

Tryb

Wartość zwracana

Losowo

Numer następnego odczytania lub napisanego rekordu

Binary,
Output,
Append,
Input

Pozycja bajtu, w której odbywa się następna operacja. Pierwszy bajt w pliku znajduje się na pozycji 1, drugi bajt na pozycji 2 i tak dalej.


Przykład

Uwaga: Poniższe przykłady przedstawiają sposób użycia tej funkcji w module języka Visual Basic for Applications (VBA). Aby uzyskać dodatkowe informacje na temat pracy w języku VBA, wybierz pozycję Dokumentacja dewelopera z listy rozwijanej obok przycisku Wyszukaj i wprowadź odpowiednie terminy w polu wyszukiwania.

W tym przykładzie użyto funkcji Szukaj w celu zwrócenia bieżącej pozycji pliku. W przykładzie założono TESTFILE że jest to plik zawierający rekordy typu zdefiniowanego przez Record.

Type Record    ' Define user-defined type.
ID As Integer
Name As String * 20
End Type

W przypadku plików otwieranych w trybie losowym funkcja Szukaj zwraca liczbę następnych rekordów.

Dim MyRecord As Record    ' Declare variable.
Open "TESTFILE" For Random As #1 Len = Len(MyRecord)
Do While Not EOF(1) ' Loop until end of file.
Get #1, , MyRecord ' Read next record.
' Print record number to the Immediate window.
Debug.Print Seek(1)
Loop
Close #1 ' Close file.

W przypadku plików otwieranych w trybach innych niż tryb losowy funkcja Szukaj zwraca pozycję bajtu, w której odbywa się następna operacja. Przyjmij TESTFILE , że jest to plik zawierający kilka wierszy tekstu.

Dim MyChar
Open "TESTFILE" For Input As #1 ' Open file for reading.
Do While Not EOF(1) ' Loop until end of file.
MyChar = Input(1, #1) ' Read next character of data.
' Print byte position to the Immediate window.
Debug.Print Seek(1)
Loop
Close #1 ' Close file.

Potrzebna dalsza pomoc?

Rozwijaj umiejętności związane z pakietem Office
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×