Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

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

Zwraca wartość typu Liczba długa określającą bieżącą pozycję odczytu/zapisu w pliku otwartym za pomocą instrukcji Open .

Składnia

Seek( filenumber )

Wymaganyargumenttypu filenumber to liczba całkowita zawierająca prawidłowy numer pliku.

Uwagi

Funkcja szukania zwraca wartość z przedziału od 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

Losowe

Numer następnego odczytanego lub napisanego rekordu

Dane binarne,
dane wyjściowe,
dołączanie, wprowadzanie

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


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 jest plikiem zawierającym rekordy typu zdefiniowanego przez użytkownika Record.

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

W przypadku plików otwartych w trybie losowym funkcja Szukaj zwraca liczbę następnego rekordu.

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 otwartych w trybach innych niż Tryb losowy funkcja Szukaj zwraca pozycję bajtu, w której ma miejsce następna operacja. Załóżmy, TESTFILE jest plikiem zawierającym 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.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×