Catatan: Fungsi, metode, objek, atau properti yang dijelaskan dalam topik ini dinonaktifkan jika Layanan Ekspresi Microsoft Jet berjalan dalam mode kotak pasir, yang mencegah evaluasi ekspresi yang berpotensi tidak aman. Untuk informasi selengkapnya tentang mode kotak pasir, cari "mode kotak pasir" di Bantuan.
Mengembalikan Long yang menentukan posisi baca/tulis saat ini dalam file yang dibuka menggunakan pernyataan Buka .
Sintaks
Seek( filenumber )
Filenumber yang diperlukanargumen adalah Bilangan Bulat yang berisi nomor fileyang valid.
Keterangan
Seek mengembalikan nilai antara 1 dan 2.147.483.647 (setara dengan 2^31 – 1), inklusif.
Berikut ini menguraikan nilai yang dikembalikan untuk setiap mode akses file.
Modus |
Nilai yang Dikembalikan |
Acak |
Jumlah catatan berikutnya yang dibaca atau ditulis |
Biner,Output,Lampiran,Input |
Posisi byte di mana operasi berikutnya berlangsung. Byte pertama dalam file berada di posisi 1, byte kedua berada di posisi 2, dan seterunya. |
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 yang ditentukan pengguna Record.
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 di mana 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.