Seek 陳述式

設定使用 Open 語句開啟之檔案內下一個讀取/寫入作業的位置。

語法

Seek [ # ] filenumberposition

Seek語句語法具有下列部分:

部分 描述
filenumber 必要。 任何有效的檔案編號
位置 此為必要動作。 範圍 1 - 2,147,483,647 的數位,包含在內,表示下一個讀取/寫入作業的發生位置。

註解

GetPut 語句中指定的記錄號碼會覆寫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 支援與意見反應