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)
Đối số filenumber bắtbuộc là một Số nguyên chứa số tệp hợp lệ.
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.
| Chế độ | 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, Phương thức nhập |
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ụ giả định là TESTFILE một tệp chứa các bản ghi kiểu do người dùng xác định 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 sử là một tệp có 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.