Private Sub Command1_Click()
Dim z1, z2, z3, z4, z5 As Double
z1 = Val(txts.Text)
z2 = 1
z3 = 10
z4 = 20
For i = z2 To z3   ' 第一个循环
z1 = z1 + 1
Open App.Path + "\jiafa.txt" For Append As #1
     Print #1, z1
   Close #1
Next
For i= z1 To z4 Step 2    '第二个循环
z1 = 100 + i
Open App.Path + "\jiafa.txt" For Append As #1
     Print #1, z1
   Close #1
Next 
For i= z1 To z3     '第三个循环
z1 = i + 1
Open App.Path + "\jiafa.txt" For Append As #1
     Print #1, z1
   Close #1
Next 
End Sub
为什么输出只是第一个循环的结果
第二个 和第三个循环为什么不能输出结果?

解决方案 »

  1.   

    你所使用的是添加记录方式,应该不会有问题啊,文件也正常关闭了。哦,对了,文件号问题:不能使用#1,把这些#1换为:FileNumber,并在最前面定义:
          dim FileNumber as long
         FileNumber=FreeFile '由操作系统动态分配
      

  2.   

    在每一个Open前面加上这一行:
    FileNumber=FreeFile   '由操作系统动态分配
      

  3.   

    只用一次Open就行了,干嘛用那么多次,效率也不高,我给你改改
    Private Sub Command1_Click()
    Dim z1, z2, z3, z4, z5             As Double
    z1 = Val(txts.Text)
    z2 = 1: z3 = 10: z4 = 20
    Open App.Path + "\jiafa.txt" For Append As #1
        For i = z2 + 1 To z3 + 1    '   第一个循环
            Print #1, i
        Next
        For i = z1 + 100 To z4 + 100 Step 2 '第二个循环
            Print #1, i
        Next
        For i = z1 + 1 To z3 + 1    '第三个循环
            Print #1, i
        Next
    Close #1
    End Sub
      

  4.   

    不知道是不是,但我提醒你一下,如果执行到第二个 第三个循环的时候,z1>z3 z4,那么for i = z1 to z4 step 正数 就肯定不会被执行