2

VBA に次のサンプル コードがあります。

   iFileNum = FreeFile()
   Open fileLocation For Input As #1
   Do While Not EOF(iFileNum)
     Line Input #iFileNum, sText

   Loop

iFileNumファイルの先頭に戻るために再起動するにはどうすればよいですか?

4

3 に答える 3

3

FileSystemObject オブジェクトを使用すると、より詳細に制御できる場合があります。

''Library: Windows Script Host Object Model
Dim fso, ts
Const ForReading = 1

Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile("c:\docs\test.txt", ForReading, True)
a = ts.Readall

Debug.Print a
aa = Split(a, vbCrLf)
Debug.Print aa(0)
于 2011-02-11T23:13:10.200 に答える
3

私はあなたがそれを使用できると信じています:

    If EOF(fileNum) Then
        Seek fileNum, 1
    End If

Seek コマンドはポインターをファイル内の任意の場所に移動します。したがって、1 はポインターをファイルの先頭に移動します。

それでも、上記の Ho1 の回答を考慮する必要があります。

于 2011-02-11T22:32:12.247 に答える
2

別のファイルを読みたい場合は、このファイルを閉じて別のファイルを開く必要があります。それ以外の場合、同じファイルをもう一度読みたい場合は、それを閉じて再度開く必要があるのと同じです。
ただし、その場合は、ファイルの内容を複数回読み取るのではなく、ファイルの内容をメモリにキャッシュすることをお勧めします (もちろん内容が変更されていない限り)。

于 2011-02-11T20:34:52.583 に答える