Seek 函數
會傳回 Long ,指定使用 Open 語句開啟之檔案內的目前讀取/寫入位置。
語法
搜尋檔案編號 ()
必要的 filenumber 自變數是包含有效檔案編號的整數。
註解
Seek 會傳回介於 1 和 2,147,483,647 (之間的值,相當於 2^31 - 1) ,包含在內。
下列描述每個檔案存取模式的傳回值。
Mode | 傳回值 |
---|---|
隨機 | 下一筆記錄的讀取或寫入數目。 |
Binary、 Output、 Append、 Input | 下一個作業執行所在的位元組位置。 檔案中的第一個字節位於位置 1,第二個字節位於位置 2,依此類推。 |
範例
此範例會使用 Seek 函式傳回目前的檔案位置。 此範例假設 是檔案, TESTFILE
其中包含使用者定義型 Record
別 的記錄。
Type Record ' Define user-defined type.
ID As Integer
Name As String * 20
End Type
對於以隨機模式開啟的檔案, Seek 會傳回下一筆記錄的編號。
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.
Debug.Print Seek(1) ' Print record number to the Immediate window.
Loop
Close #1 ' Close file.
對於以隨機模式以外的模式開啟的檔案, Seek 會傳回下一個作業執行所在的位元組位置。
TESTFILE
假設 是包含幾行文字的檔案。
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.
Debug.Print Seek(1) ' Print byte position to the Immediate window.
Loop
Close #1 ' Close file.
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。