我有这样的代码......
Dim sFileText As String
Dim Files As String
Dim iFileNo As Integer
Dim aray1() As String
Dim aray2() As String
Grid(1).Rows = 1
iFileNo = FreeFile
Files = Text1.Text
Open Files For Input As #iFileNo
Do While Not EOF(iFileNo)
Input #iFileNo, sFileText
aray1 = Split(sFileText, Chr(9))
For i = 0 To UBound(aray1) - 1
' MsgBox aray1(i)
Grid(1).Rows = Grid(1).Rows + 1
Grid(1).TextMatrix(Grid(1).Rows - 1, 0) = aray1(0)
Grid(1).TextMatrix(Grid(1).Rows - 1, 1) = aray1(1)
Grid(1).TextMatrix(Grid(1).Rows - 1, 2) = aray1(2)
Grid(1).TextMatrix(Grid(1).Rows - 1, 3) = aray1(3)
Grid(1).TextMatrix(Grid(1).Rows - 1, 4) = aray1(4)
Grid(1).TextMatrix(Grid(1).Rows - 1, 5) = aray1(5)
Next i
Loop
结果是这样的(抱歉我无法显示图像):
36 2012-10-20 08:59:34 1 255 1 0
36 2012-10-20 08:59:34 1 255 1 0
36 2012-10-20 08:59:34 1 255 1 0
36 2012-10-20 08:59:34 1 255 1 0
36 2012-10-20 08:59:34 1 255 1 0
110 2012-10-20 09:45:00 1 255 1 0
110 2012-10-20 09:45:00 1 255 1 0
110 2012-10-20 09:45:00 1 255 1 0
110 2012-10-20 09:45:00 1 255 1 0
110 2012-10-20 09:45:00 1 255 1 0
每个人都知道MSFlexGrid中每条记录只显示一次代码吗? 它在每个记录中显示5次..
P.S:抱歉英语不好:)
答案 0 :(得分:2)
摆脱启动FOR循环的行和结束它的行(NEXT语句)
你正在循环,没有必要。
基本上,对于FOR NEXT循环,您在网格中添加一个新行,对于数组中的每个元素(列)(aray1)而不是每一行。
删除这两行,你应该没事。