文件内容i:\a.txt
05 08 09 11 12 16
08 15 16 17 18 90
04 05 08 10 21 22
......
......
文件格式固定是上面这样的。
我是这么做的但显示有错误:
Type test
n(1 to 6) As String * 2
End Type Dim rec As Integer
Dim mem As testPrivate Sub Form_Activate()
Open "i:\a.txt" For Random As #1 Len = Len(mem)
rec = LOF(1) / Len(mem)
End Sub错误提示,无效的过程调用或参数,黄色光标在Open "i:\a.txt" For Random As #1 Len = Len(mem)
请各位高手帮忙看一下错在哪里?如何用随机文件打开固定格式的已经存在的文本文件? 

解决方案 »

  1.   

    Dim tFileName As String
    Dim tFileNumber As IntegertFileName="i:\a.txt"
    tFileNumber=FreeFileOpen tFileName For Binary As #tFileNumber  Dim tBytes() As Byte
      Dim tBytes_Length As Long
      Dim tFileSize As Long  tFileSize=LOF(tFileNumber)  '得到文件的尺寸
      tBytes_Length=tFileSize - 1 '计算数组的长度(尺寸减1,因为数组从0开始计算,而文件字节是从1开始的)  ReDim tBytes(tBytes_Length) '定义数组程度  Get #tFileNumber,1,tBytes() '读数组(由于数组长度刚好和文件一致,所以Bytes数组是文件的全部内容)Close #tFileNumberDim tFileText As String
    Dim tStrings() As StringtFileText=StrConv(tBytes(),vbUniCode) '将Bytes转换为字符串,该字符串是文件全部文本(包括换行)
    tStrings()=Split(tFileText,vbCrLf)    '以换行符号为间隔,将文件的文本分割为数组。则每个元素是文件的一行。tStrings()返回文件的每一行。元素序号从0计算。如果你想取第8行的六个值:Dim tN() As StringtN()=Split(tStrings(7)," ") '以空格为间隔,将字符串分割成数组。XX XX XX XX XX XX格式将得到6个XX