共用方式為


Seek 函數

會傳回 Long ,指定使用 Open 語句開啟之檔案內的目前讀取/寫入位置。

語法

搜尋檔案編號 ()

必要的 filenumber 自變數是包含有效檔案編號數。

註解

Seek 會傳回介於 1 和 2,147,483,647 (之間的值,相當於 2^31 - 1) ,包含在內。

下列描述每個檔案存取模式的傳回值。

Mode 傳回值
隨機 下一筆記錄的讀取或寫入數目。
BinaryOutputAppendInput 下一個作業執行所在的位元組位置。 檔案中的第一個字節位於位置 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 支援與意見反應