0

そのため、Visual Basic で読み込もうとしているテキスト ファイルが多数あります。それらはすべて同じフォーマットを持っています:

[number of items in the file]
item 1
item 2
item 3
...etc.

私がやろうとしているのは、最初の行で整数のサイズの配列を宣言し、各行を配列の対応する部分に読み込むことです (したがって、アイテム 1 は array[0] になり、アイテム 2 は array[ になります) 1] などですが、どこから始めればよいかわかりません。

4

4 に答える 4

3

かなり基本的なもの(しゃれは意図されていません):

Dim F As Integer
Dim Count As Integer
Dim Items() As String
Dim I As Integer

F = FreeFile(0)
Open "data.txt" For Input As #F
Input #F, Count
ReDim Items(Count - 1)
For I = 0 To Count - 1
    Line Input #F, Items(I)
Next
Close #F
于 2012-04-24T07:14:16.243 に答える
1

VB6でこれを試してください

Dim file_id As Integer
Dim strline as string
Dim array_item() as string

'Open file
file_id = FreeFile
Open "C:\list.txt" For Input AS #file_id 

Dim irow As Integer
irow = 0    

'Loop through the file
Do Until EOF(file_id)

    'read a line from a file
    Line Input #file_id, strline

    'Resize the array according to the line read from file
    Redim Preserve array_item(irow)

    'put the line into the array
    array_item(irow) = strline

    'move to the next row
    irow = irow + 1
Loop

Close #file_id
于 2012-04-24T06:41:49.030 に答える
0

探している VB 関数は「分割」です。

http://www.vb-helper.com/howto_csv_to_array.html

于 2012-04-24T05:23:39.417 に答える
0

これを試して:

Dim FullText As String, l() As String
'''Open file for reading using Scripting Runtime. But you can use your methods
Dim FSO As Object, TS As Object
Set FSO = createbject("Scripting.FileSystemObject")
Set TS = createbject("Scripting.TextStream")
Set TS = FSO.OpenTextFile(FilePath)
TS.ReadLine 'Skip your first line. It isn't needed now.
'''Reading the contents to FullText and splitting to the array.
FullText = TS.ReadAll
l = Split(FullText, vbNewLine) '''the main trick

分割すると、l() のサイズが自動的に変更され、すべてのデータが格納されます。
これで、l() 配列に必要なものがすべて含まれるようになりました。

于 2012-10-11T20:02:19.570 に答える