Private Sub Command1_Click()
  Dim Text As String, N As Long, I As Integer
  Open "C:\OST.txt" For Input As #20
  N = LOF(20)
  Text = Input(N, #20)
  I = 1
 ' For I = 1 To CLng(Len(Text))
  Do While I < CLng(Len(Text) - 2)
      ArrNum = ArrNum + 1 '数组编号+1
      ReDim Preserve ArrRec(ArrNum) As String '根据编号定义动态数组
      ArrRec(ArrNum) = Str("&H" + Mid(Text, I, 4))
      Debug.Print ArrRec(ArrNum)
      I = CLng(I + 4)
  Loop
  Open "D:\boot.txt" For Output As #25
  Print #25, Text
  Close 20, 25
  MsgBox "处理完毕", vbOKOnly, "提示"
End Sub这是我的一个读文件程序,当I超过整数范围32765老是溢出,我已经声明为LONG型了,而且用了CLNG,为什么还可以呢,想不通

解决方案 »

  1.   

    Dim Text As String, N As Long, I As Integer 
      

  2.   

    Dim Text As String, N As Long, I As Integer 
    改为
    Dim Text As String, N As Long, I As Long Do While I < CLng(Len(Text) - 2) 
    改为
    Do While I < CLng(Len(Text)) - 2 
      

  3.   

    Option Explicit
    Dim ArrRec() As String '定义动态数组
    Dim ArrNum As Long  '定义动态数组个数
    Dim I&,
    这是我原来的声明,是LONG型的啊