Catatan: Fungsi, metode, objek, atau properti yang diuraikan dalam topik ini dinonaktifkan jika Layanan ekspresi Microsoft jet berjalan dalam mode Sandbox, yang mencegah evaluasi ekspresi yang berpotensi tidak aman. Untuk informasi selengkapnya tentang mode Sandbox, Cari "mode Sandbox" dalam bantuan.
Mengembalikan panjang yang menentukan posisi baca/tulis saat ini dalam file yang dibuka menggunakan pernyataan Open .
Sintaks
Mencari ( namada )
argumen filenumber yang diperlukan adalah bilangan bulat yang berisi nomor fileyang valid.
Keterangan
Seek mengembalikan nilai antara 1 dan 2.147.483.647 (setara dengan 2 ^ 31 – 1), termasuk.
Berikut ini menjelaskan nilai yang dikembalikan untuk setiap mode akses file.
Modus |
Nilai yang Dikembalikan |
Acak |
Jumlah rekaman berikutnya yang dibaca atau ditulis |
Biner, |
Posisi byte tempat operasi berikutnya berlangsung. Byte pertama dalam file berada di posisi 1, byte kedua berada di posisi 2, dan seterusnya. |
Contoh
Catatan: Contoh yang mengikuti demonstrasi penggunaan fungsi ini dalam modul Visual Basic for Applications (VBA). Untuk informasi selengkapnya tentang bekerja dengan VBA, pilih Referensi Pengembang di daftar turun bawah di samping Cari dan masukkan satu istilah atau lebih di kotak pencarian.
Contoh ini menggunakan fungsi Seek untuk mengembalikan posisi file saat ini. Contoh mengasumsikan TESTFILE adalah file yang berisi rekaman tipe Recordyang ditentukan pengguna.
Type Record ' Define user-defined type.
ID As Integer
Name As String * 20
End Type
Untuk file yang dibuka dalam mode acak, Seek mengembalikan jumlah rekaman berikutnya.
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.
Untuk file yang dibuka dalam mode selain mode acak, Seek mengembalikan posisi byte tempat operasi berikutnya berlangsung. Asumsikan TESTFILE adalah file yang berisi beberapa baris teks.
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.