Seek 陳述式
設定使用 Open 語句開啟之檔案內下一個讀取/寫入作業的位置。
語法
Seek [ # ] filenumber, position
Seek語句語法具有下列部分:
部分 | 描述 |
---|---|
filenumber | 必要。 任何有效的檔案編號。 |
位置 | 此為必要動作。 範圍 1 - 2,147,483,647 的數位,包含在內,表示下一個讀取/寫入作業的發生位置。 |
註解
Get和Put 語句中指定的記錄號碼會覆寫Seek所執行的檔案位置。
在檔案結尾以外的 搜尋 作業之後執行檔案寫入作業會擴充檔案。 如果您嘗試 將 Seek 作業設為負數或零位置,則會發生錯誤。
範例
這個範例會使用 Seek 語句來設定檔案內下一個讀取或寫入的位置。 這個範例假設 是檔案, TESTFILE
其中包含使用者定義型 Record
別 的記錄。
Type Record ' Define user-defined type.
ID As Integer
Name As String * 20
End Type
針對以隨機模式開啟的檔案, Seek 會設定下一筆記錄。
Dim MyRecord As Record, MaxSize, RecordNumber ' Declare variables.
' Open file in random-file mode.
Open "TESTFILE" For Random As #1 Len = Len(MyRecord)
MaxSize = LOF(1) \ Len(MyRecord) ' Get number of records in file.
' The loop reads all records starting from the last.
For RecordNumber = MaxSize To 1 Step - 1
Seek #1, RecordNumber ' Set position.
Get #1, , MyRecord ' Read record.
Next RecordNumber
Close #1 ' Close file.
對於以隨機模式以外的模式開啟的檔案, Seek 會設定下一個作業執行所在的位元組位置。 此範例假設 TESTFILE
是包含幾行文字的檔案。
Dim MaxSize, NextChar, MyChar
Open "TESTFILE" For Input As #1 ' Open file for input.
MaxSize = LOF(1) ' Get size of file in bytes.
' The loop reads all characters starting from the last.
For NextChar = MaxSize To 1 Step -1
Seek #1, NextChar ' Set position.
MyChar = Input(1, #1) ' Read character.
Next NextChar
Close #1 ' Close file.
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。