メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

注: Microsoft Jet Expression Service がサンドボックス モードで実行されている場合 (安全でない可能性がある式の評価は行われません)、このトピックで説明する関数、メソッド、オブジェクト、またはプロパティは無効です。 サンドボックス モードの詳細については、ヘルプで "サンドボックス モード" を検索してください。

Open ステートメントを使用して開いたファイル内の現在の読み取り位置または書き込み位置を示す Long データ型の値を返します。

構文

Seek( filenumber )

filenumber 引数 は必須の引数です。有効な ファイル番号 を整数データ型で指定します。

解説

Seek 関数は、1 ~ 2,147,483,647 (= 2^31 – 1) の範囲の値を返します。

ファイル アクセス モードとその戻り値を次に示します。

モード

戻り値

ランダム

読み取りまたは書き込みが行われる次のレコード番号。

バイナリ
出力
追加
入力

次の操作を開始するバイト位置。 ファイル内の先頭バイトの位置は 1、次のバイトの位置は 2 というようになります。


注: 次の例は、Visual Basic for Applications (VBA) モジュールでのこの関数の使用方法を示しています。 VBA の使用方法の詳細については、[検索] の横にあるドロップダウン リストで [開発者用リファレンス] を選び、検索ボックスに検索する用語を入力します。

この例では、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.
' Print record number to the Immediate window.
Debug.Print Seek(1)
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.
' Print byte position to the Immediate window.
Debug.Print Seek(1)
Loop
Close #1 ' Close file.

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×