Seek 関数
Open ステートメントを使用して開かれたファイル内の現在の読み取り/書き込み位置を指定する長整数型 (Long) の値を返します。
構文
Seek(filenumber)
必須の filenumber引数は、有効なファイル番号を含む整数です。
解説
Seek は 1 ~ 2,147,483,647 (= 2^31 - 1) の範囲の数を返します。
各ファイル アクセス モードの戻り値を次に示します。
モード | 戻り値 |
---|---|
Random | 読み取りまたは書き込まれた次のレコードの番号。 |
バイナリ、 出力、 追加、 入力 | 次の操作が行われるバイト位置。 ファイル内の 1 番目のバイトが 1、2 番目のバイトが 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.
Random 以外のモードで開いたファイルの場合、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 のサポートおよびフィードバックを参照してください。