你的文件是纯文本的吧?那么可以看看下面一段例程    Dim fs As FileSystemObject
    Dim a As TextStream
    
    Set fs = New FileSystemObject
    Set a = fs.OpenTextFile(文件名)
    
    Text1.Text = a.Read(4)
    a.Close
对于纯文本文件,用FILESYSTEMOBJECT比用简单的OPEN语句等方便得多。
对了,要使用上述程序,必须先引用“Microsoft Scripting Runtime”。

解决方案 »

  1.   

    Open "d:\file1.day" for Binary As #1
        Dim mydata(3) As Byte
        Get #1,,mydata
      

  2.   

    Dim i As Integer
    If LOF(filehandle) - MyLocation > 3 Then
    ReDim mybyte(0 To 3)
    Get #filehandle, , mybyte
    MyLocation = Loc(filehandle)
    else
    ReDim mybyte(0 To LOF(filehandle) - MyLocation - 1)
    Get #filehandle, , mybyte
    ...
    end if使用动态数组,读取数据
      

  3.   

    我估计你读出乱码的原因与UNICODE有关,你试一下用
    StrConv转换看看。
      

  4.   

    把你的数据文件发我一个看看
    [email protected]
      

  5.   

    还是也贴一个在这里吧,为保险起见。    不好意思,刚看完你的邮件。然后才发现它的确是一个数据文件,我开始说的
    实在不适合,不好意思了。你把这段代码粘到窗体里面试一下:Private Sub Command1_Click()
        Dim i As Long, j As Long
        Dim lDate As Long, lMoney As Long
        
        Open "E:\600102.DAY" For Random Access Read As #1 Len = 4
        
        For i = 1 To 10
            Get #1, , lDate
            Debug.Print lDate,
            For j = 1 To 4
                Get #1, , lMoney
                Debug.Print Round(lMoney / 256, 2),
            Next j
            
            Get #1, , lMoney
            Debug.Print lMoney,
            Get #1, , lMoney
            Debug.Print lMoney
            
            Get #1, , lDate
            Get #1, , lDate
            Get #1, , lDate
        Next i
        Close #1
    End Sub我觉得可以,速度也很快。把它当作随机数据文件打开,然后按照记录来直接读到
    合适类型的变量里(我并不确定我用LONG型变量很适合,只是看着觉得像),
    应该是一种好的思路吧。