VBA に次のサンプル コードがあります。
iFileNum = FreeFile()
Open fileLocation For Input As #1
Do While Not EOF(iFileNum)
Line Input #iFileNum, sText
Loop
iFileNum
ファイルの先頭に戻るために再起動するにはどうすればよいですか?
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)
私はあなたがそれを使用できると信じています:
If EOF(fileNum) Then
Seek fileNum, 1
End If
Seek コマンドはポインターをファイル内の任意の場所に移動します。したがって、1 はポインターをファイルの先頭に移動します。
それでも、上記の Ho1 の回答を考慮する必要があります。
別のファイルを読みたい場合は、このファイルを閉じて別のファイルを開く必要があります。それ以外の場合、同じファイルをもう一度読みたい場合は、それを閉じて再度開く必要があるのと同じです。
ただし、その場合は、ファイルの内容を複数回読み取るのではなく、ファイルの内容をメモリにキャッシュすることをお勧めします (もちろん内容が変更されていない限り)。