Lưu ý: Hàm, phương pháp, đối tượng hoặc thuộc tính được mô tả trong chủ đề này sẽ bị vô hiệu hóa nếu Dịch vụ Biểu thức Phản lực của Microsoft đang chạy trong chế độ hộp cát, điều này ngăn không cho đánh giá các biểu thức không an toàn tiềm ẩn. Để biết thêm thông tin về chế độ hộp cát, hãy tìm kiếm "chế độ hộp cát" trong Trợ giúp.
Trả về một giá trị kiểu Dài xác định vị trí đọc/ghi hiện tại trong một tệp được mở bằng câu lệnh Open.
Cú pháp
Tìm kiếm( số tệp )
Số tệp bắt buộctham đối là một Số nguyên chứa một số nguyên hợp số tệp.
Chú thích
Tìm kiếm trả về một giá trị từ 1 đến 2.147.483.647 (tương đương với 2^31 – 1), bao gồm 2^31 – 1).
Dưới đây là mô tả các giá trị trả về cho mỗi chế độ truy nhập tệp.
Mode |
Giá trị Trả về |
Ngẫu nhiên |
Số lượng bản ghi tiếp theo được đọc hoặc viết |
Nhị phân, Đầu ra, Chắp thêm, Đầu vào |
Vị trí Byte mà tại đó thao tác tiếp theo diễn ra. Byte đầu tiên trong tệp nằm ở vị trí 1, byte thứ hai ở vị trí 2, v.v. |
Ví dụ
Lưu ý: Các ví dụ sau thể hiện cách sử dụng hàm này trong mô-đun Visual Basic for Applications (VBA). Để biết thêm thông tin về cách làm việc với VBA, chọn Tham khảo dành cho Nhà phát triển trong danh sách thả xuống cạnh Tìm kiếm, rồi nhập một hoặc nhiều từ vào hộp tìm kiếm.
Ví dụ này sử dụng hàm Seek để trả về vị trí tệp hiện tại. Ví dụ này giả TESTFILE là một tệp chứa các bản ghi thuộc loại do người dùng xác Record.
Type Record ' Define user-defined type.
ID As Integer Name As String * 20 End Type
Đối với các tệp được mở ở chế độ Ngẫu nhiên, tìm kiếm sẽ trả về số bản ghi tiếp theo.
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.
Đối với các tệp được mở ở chế độ khác ngoài chế độ Ngẫu nhiên, tính năng Tìm kiếm sẽ trả về vị trí byte nơi thực hiện thao tác tiếp theo. Giả TESTFILE là một tệp chứa một vài dòng văn bản.
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.